﻿:root{--ink:#132522;--muted:#647571;--paper:#f5f7f4;--white:#fff;--green:#153d38;--green2:#1f6157;--mint:#dfece5;--lime:#b8d979;--line:#dfe6e1;--danger:#a53d3d;--shadow:0 18px 48px rgba(20,53,47,.09);font-family:Inter,"Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--paper)}*{box-sizing:border-box}body{margin:0;background:var(--paper)}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{cursor:pointer}.app-shell{display:grid;grid-template-columns:250px 1fr;min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:250px;background:var(--green);color:#eaf2ee;padding:26px 18px;display:flex;flex-direction:column;z-index:20}.brand,.story-brand{display:flex;align-items:center;gap:12px}.brand{padding:0 8px 28px;border-bottom:1px solid rgba(255,255,255,.12)}.brand-mark{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:var(--lime);color:var(--green);font-weight:900;font-size:20px}.brand strong,.story-brand strong{display:block;font-size:18px}.brand small,.story-brand small{display:block;font-size:11px;letter-spacing:.08em;text-transform:uppercase;opacity:.72;margin-top:2px}.sidebar nav{padding-top:16px;overflow:auto}.nav-group{display:block}.nav-item{display:flex;align-items:center;gap:10px;border-radius:10px;padding:10px 12px;color:#d1dfda;font-size:14px;margin:3px 0}.nav-item:hover,.nav-item.active{background:rgba(255,255,255,.1);color:#fff}.nav-item.active{box-shadow:inset 3px 0 var(--lime)}.nav-icon{width:25px;height:25px;border:1px solid rgba(255,255,255,.18);border-radius:7px;display:grid;place-items:center;font-size:11px;font-weight:800}.sidebar-foot{margin-top:auto;padding:16px 10px 0;border-top:1px solid rgba(255,255,255,.1);color:#88a39c;font-size:11px}.main-area{grid-column:2;min-width:0}.topbar{height:76px;background:rgba(255,255,255,.92);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 32px;position:sticky;top:0;z-index:10;backdrop-filter:blur(8px)}.topbar-title{font-size:13px;color:var(--muted)}.user-menu{display:flex;align-items:center;gap:10px}.avatar{width:36px;height:36px;border-radius:11px;background:var(--mint);color:var(--green);display:grid;place-items:center;font-weight:800}.avatar.small{width:34px;height:34px;border-radius:50%}.user-meta strong,.user-meta small{display:block}.user-meta strong{font-size:13px}.user-meta small{color:var(--muted);font-size:11px;margin-top:2px}.link-button{border:0;background:none;color:var(--muted);padding:8px;margin-left:8px}.menu-toggle{display:none;border:1px solid var(--line);background:#fff;padding:8px 10px;border-radius:8px}.content{padding:34px;max-width:1500px;margin:auto}.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:28px}.page-head h1{font-family:Georgia,serif;font-size:34px;line-height:1.1;margin:7px 0 8px;font-weight:500}.page-head p{color:var(--muted);margin:0;max-width:700px}.eyebrow,.panel-kicker{font-size:10px;text-transform:uppercase;letter-spacing:.16em;font-weight:800;color:var(--green2)}.date-chip,.role-tag{background:var(--mint);color:var(--green);padding:8px 12px;border-radius:999px;font-size:12px;font-weight:700}.welcome-panel{background:linear-gradient(120deg,var(--green),#24564e);color:#fff;border-radius:20px;padding:38px;display:flex;justify-content:space-between;align-items:center;overflow:hidden;box-shadow:var(--shadow)}.welcome-panel>div:first-child{max-width:630px}.welcome-panel h2{font-family:Georgia,serif;font-weight:400;font-size:30px;margin:12px 0}.welcome-panel p{color:#c7d8d3;margin:0;line-height:1.6}.panel-kicker{color:var(--lime)}.pulse-mark{width:140px;height:140px;border:1px solid rgba(255,255,255,.18);border-radius:50%;display:grid;place-items:center;margin:0 40px}.pulse-mark:before,.pulse-mark:after,.pulse-mark span{content:"";display:block;position:absolute;border:1px solid rgba(184,217,121,.25);border-radius:50%}.pulse-mark:before{width:95px;height:95px}.pulse-mark:after{width:48px;height:48px}.pulse-mark span{width:12px;height:12px;background:var(--lime);border:0}.section-title{display:flex;align-items:baseline;justify-content:space-between;margin:32px 0 14px}.section-title h2{font-size:17px;margin:0}.section-title span{font-size:12px;color:var(--muted)}.placeholder-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.metric-placeholder{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px;display:flex;gap:16px;align-items:center}.metric-placeholder>div:last-child{flex:1}.skeleton{background:#e9eeeb;border-radius:8px}.skeleton.icon{width:44px;height:44px}.skeleton.line{height:10px;width:70%;margin:8px 0}.skeleton.line.short{width:35%}.button{display:inline-flex;align-items:center;justify-content:center;border-radius:10px;padding:11px 17px;border:1px solid transparent;font-weight:700;font-size:13px}.button.primary{background:var(--green);color:#fff}.button.primary:hover{background:var(--green2)}.button.secondary{background:#fff;border-color:var(--line);color:var(--ink)}.button.full{width:100%;padding:14px}.alert{padding:12px 14px;border-radius:10px;margin-bottom:18px;font-size:13px}.alert.error{background:#f9e6e4;color:#872e2e;border:1px solid #edceca}.alert.success{background:#e2f1e8;color:#215d3d;border:1px solid #cbe4d4}.alert.warning{background:#fdf3dd;color:#7a5a17;border:1px solid #f0dfae}.session-banner span{background:var(--green);color:#fff}.session-banner strong{color:var(--success)}.table-card,.form-card,.permissions-card{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 8px 30px rgba(20,53,47,.04);overflow:hidden}.table-tools{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;border-bottom:1px solid var(--line)}.table-tools input{width:260px}.table-wrap,.permission-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:13px}th{text-align:left;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.08em;padding:13px 18px;background:#f8faf8;border-bottom:1px solid var(--line)}td{padding:15px 18px;border-bottom:1px solid #edf1ee;vertical-align:middle}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#fbfcfb}.person{display:flex;align-items:center;gap:10px}.person strong,.person small,.block{display:block}.person small,.block{color:var(--muted);font-size:11px;margin-top:3px}.role-tag{display:inline-block;padding:5px 9px}.status{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700}.status:before{content:"";width:7px;height:7px;border-radius:50%}.status.active{color:#28754a}.status.active:before{background:#48a96f}.status.inactive{color:#8a6464}.status.inactive:before{background:#b89393}.actions{text-align:right}.action-row{display:flex;justify-content:flex-end;gap:6px;white-space:nowrap}.action-row form{display:inline}.icon-button{border:1px solid var(--line);background:#fff;border-radius:8px;padding:7px 9px;font-size:11px;color:var(--green)}.icon-button.danger{color:var(--danger)}.back-link{display:block;color:var(--green2);font-size:12px;margin-bottom:12px}.form-section{padding:28px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:220px 1fr;gap:35px}.form-section-head{display:flex;gap:12px}.form-section-head>span{width:28px;height:28px;border-radius:8px;background:var(--mint);display:grid;place-items:center;font-size:10px;font-weight:800;color:var(--green)}.form-section h2{font-size:15px;margin:3px 0 5px}.form-section p{font-size:12px;color:var(--muted);margin:0;line-height:1.5}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-grid label,.login-card label{font-size:12px;font-weight:700;color:#394a46}.form-grid label.span-2{grid-column:span 2}input,select{width:100%;border:1px solid #ced9d3;background:#fff;border-radius:9px;padding:11px 12px;margin-top:7px;color:var(--ink);outline:none}input:focus,select:focus{border-color:var(--green2);box-shadow:0 0 0 3px rgba(31,97,87,.1)}label small{display:block;font-size:10px;font-weight:400;color:var(--muted);margin-top:5px}.switch-field{display:flex;align-items:center;gap:11px;padding-top:18px}.switch-field input{position:absolute;opacity:0;width:1px}.switch{width:42px;height:23px;background:#cbd4cf;border-radius:20px;position:relative;flex:none}.switch:after{content:"";position:absolute;width:17px;height:17px;border-radius:50%;background:#fff;left:3px;top:3px;transition:.2s}.switch-field input:checked+.switch{background:var(--green2)}.switch-field input:checked+.switch:after{left:22px}.switch-field strong,.switch-field small{display:block}.form-actions{padding:20px 28px;display:flex;justify-content:flex-end;gap:10px;align-items:center}.permission-legend{padding:16px 20px;border-bottom:1px solid var(--line);display:flex;gap:20px;font-size:11px;color:var(--muted)}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px}.dot.enabled{background:#4b9f6c}.dot.future{background:#b5beb9}.permission-table th:not(:first-child),.permission-table td:not(:first-child){text-align:center;min-width:90px}.permission-table td:first-child{min-width:210px}.permission-table td small{display:block;color:var(--muted);margin-top:3px}.future-row{opacity:.52;background:#f7f8f7}.check-cell input{position:absolute;opacity:0}.check-cell span{display:inline-block;width:20px;height:20px;border:1px solid #bdcac3;border-radius:6px;background:#fff;position:relative}.check-cell input:checked+span{background:var(--green2);border-color:var(--green2)}.check-cell input:checked+span:after{content:"";position:absolute;width:8px;height:4px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg);left:5px;top:5px}.form-actions.sticky{justify-content:space-between;border-top:1px solid var(--line)}.form-actions.sticky>div{display:flex;gap:10px}.muted{color:var(--muted)}.error-state{text-align:center;padding:100px 20px}.error-state span{font-family:Georgia,serif;font-size:80px;color:#bbcec7}.error-state h1{font-family:Georgia,serif;font-weight:400}.error-state p{color:var(--muted);margin-bottom:25px}.error-state.public{min-height:100vh}.login-layout{min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr}.login-story{background:linear-gradient(145deg,#102f2b,#1d5149);color:#fff;padding:46px 7vw;display:flex;flex-direction:column;position:relative;overflow:hidden}.login-story:after{content:"";position:absolute;width:500px;height:500px;border:1px solid rgba(184,217,121,.13);border-radius:50%;right:-230px;bottom:-180px;box-shadow:0 0 0 80px rgba(184,217,121,.035),0 0 0 160px rgba(184,217,121,.02)}.story-brand{z-index:1}.story-brand .brand-mark{box-shadow:0 10px 30px rgba(0,0,0,.15)}.story-copy{margin:auto 0;max-width:620px;z-index:1}.story-copy .eyebrow{color:var(--lime)}.story-copy h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(42px,5vw,72px);line-height:1.04;margin:20px 0}.story-copy p{color:#bfd0cb;font-size:17px;line-height:1.65;max-width:500px}.story-foot{font-size:11px;text-transform:uppercase;letter-spacing:.15em;color:#93ada6;z-index:1}.login-panel{display:grid;place-items:center;padding:36px;background:#f7f8f5}.login-card{width:min(400px,100%);background:#fff;padding:40px;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow)}.login-card h2{font-family:Georgia,serif;font-size:36px;font-weight:400;margin:9px 0}.login-card>p{font-size:13px;margin:0 0 28px}.login-card label{display:block;margin:18px 0}.login-card input{padding:13px}.login-help{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);margin:-4px 0 22px}.security-note{display:block;text-align:center;color:#8b9995;font-size:10px;margin-top:17px}.overlay{display:none}
@media(max-width:900px){.app-shell{grid-template-columns:1fr}.main-area{grid-column:1}.sidebar{transform:translateX(-100%);transition:.25s}.menu-open .sidebar{transform:translateX(0)}.menu-open .overlay{display:block;position:fixed;inset:0;background:rgba(8,25,22,.45);z-index:15}.menu-toggle{display:block}.topbar-title{display:none}.content{padding:24px}.form-section{grid-template-columns:1fr}.login-layout{grid-template-columns:1fr}.login-story{min-height:260px;padding:28px}.story-copy{margin:45px 0 20px}.story-copy h1{font-size:38px}.story-copy p,.story-foot{display:none}.login-panel{padding:24px}.placeholder-grid{grid-template-columns:1fr}.pulse-mark{display:none}}
@media(max-width:600px){.topbar{height:65px;padding:0 16px}.user-meta{display:none}.content{padding:20px 14px}.page-head{align-items:flex-start;flex-direction:column}.page-head h1{font-size:29px}.welcome-panel{padding:27px 23px}.welcome-panel h2{font-size:25px}.table-card{border-radius:12px}.table-tools{align-items:flex-start;gap:10px;flex-direction:column}.table-tools input{width:100%}table:not(.permission-table) thead{display:none}table:not(.permission-table) tr{display:block;padding:14px;border-bottom:1px solid var(--line)}table:not(.permission-table) td{display:block;border:0;padding:6px 8px;text-align:left}.action-row{justify-content:flex-start;flex-wrap:wrap}.form-section{padding:22px 18px;gap:22px}.form-grid{grid-template-columns:1fr}.form-grid label.span-2{grid-column:auto}.form-actions{padding:18px;flex-wrap:wrap}.form-actions .button{flex:1}.form-actions.sticky{align-items:stretch;flex-direction:column}.form-actions.sticky>div{display:flex}.login-story{min-height:210px}.login-card{padding:28px 22px}.login-panel{align-items:start}.permission-legend{flex-direction:column;gap:8px}}
.head-actions{display:flex;gap:10px;align-items:center}.head-actions form{margin:0}.summary-strip{display:grid;grid-template-columns:repeat(3,1fr);background:var(--green);color:#fff;border-radius:16px;margin-bottom:18px;overflow:hidden}.summary-strip>div{padding:20px 24px;border-right:1px solid rgba(255,255,255,.12)}.summary-strip>div:last-child{border:0}.summary-strip strong,.summary-strip span{display:block}.summary-strip strong{font-family:Georgia,serif;font-size:28px;font-weight:400}.summary-strip span{color:#bcd0ca;font-size:11px;margin-top:3px}.filter-bar{display:grid;grid-template-columns:2fr 1fr .7fr auto;gap:12px;align-items:end;background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px;margin-bottom:16px}.filter-bar label>span{font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:800;color:var(--muted)}.filter-bar input,.filter-bar select{margin-top:6px}.filter-bar .button{height:41px}.empty-state{text-align:center;padding:65px 20px}.empty-state>span{display:grid;place-items:center;margin:0 auto 15px;width:52px;height:52px;border-radius:16px;background:var(--mint);color:var(--green);font-family:Georgia,serif;font-size:24px}.empty-state h2{font-family:Georgia,serif;font-weight:400;margin:0}.empty-state p{color:var(--muted);margin:8px 0 20px}.form-grid textarea{width:100%;border:1px solid #ced9d3;background:#fff;border-radius:9px;padding:11px 12px;margin-top:7px;color:var(--ink);outline:none;resize:vertical;font:inherit}.form-grid textarea:focus{border-color:var(--green2);box-shadow:0 0 0 3px rgba(31,97,87,.1)}.danger-button{background:#fff;color:var(--danger);border-color:#e4c9c9}.profile-hero{background:linear-gradient(120deg,var(--green),#24564e);color:#fff;border-radius:18px;padding:28px 32px;display:flex;align-items:center;gap:20px;margin-bottom:18px}.profile-monogram{width:70px;height:70px;border-radius:20px;background:var(--lime);color:var(--green);display:grid;place-items:center;font-family:Georgia,serif;font-size:34px}.profile-hero h2{font-family:Georgia,serif;font-weight:400;margin:9px 0 0}.profile-hero p{margin:5px 0 0;color:#bed0ca}.profile-hero .status.active{color:var(--lime)}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.detail-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:24px}.detail-card.span-2,.record-meta.span-2{grid-column:span 2}.detail-card dl{margin:15px 0 0}.detail-card dl>div{display:grid;grid-template-columns:130px 1fr;padding:11px 0;border-bottom:1px solid #edf1ee}.detail-card dl>div:last-child{border:0}.detail-card dt{color:var(--muted);font-size:12px}.detail-card dd{margin:0;font-size:13px;font-weight:600}.notes-text{white-space:pre-wrap;color:#465954;line-height:1.7;margin:15px 0 0}.record-meta{display:flex;justify-content:space-between;color:var(--muted);font-size:10px;padding:4px 5px}
@media(max-width:760px){.head-actions{width:100%;flex-wrap:wrap}.head-actions .button,.head-actions form{flex:1}.head-actions form .button{width:100%}.summary-strip>div{padding:15px 12px}.summary-strip strong{font-size:23px}.filter-bar{grid-template-columns:1fr}.detail-grid{grid-template-columns:1fr}.detail-card.span-2,.record-meta.span-2{grid-column:auto}.profile-hero{padding:22px 18px}.profile-monogram{width:55px;height:55px}.record-meta{flex-direction:column;gap:5px}.detail-card dl>div{grid-template-columns:1fr;gap:4px}}
.count-badge{display:inline-grid;place-items:center;min-width:28px;height:28px;padding:0 8px;border-radius:9px;background:var(--mint);color:var(--green);font-weight:800}.doctor-picker{display:grid;grid-template-columns:1fr 1fr;gap:9px}.picker-item{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:10px;padding:11px;cursor:pointer}.picker-item:hover{border-color:#aabdb5}.picker-item input{position:absolute;opacity:0;width:1px}.picker-check{width:20px;height:20px;border:1px solid #bdcac3;border-radius:6px;flex:none;position:relative}.picker-item input:checked+.picker-check{background:var(--green2);border-color:var(--green2)}.picker-item input:checked+.picker-check:after{content:"";position:absolute;width:8px;height:4px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg);left:5px;top:5px}.picker-item strong,.picker-item small{display:block}.picker-item strong{font-size:12px}.picker-item small{font-size:10px;color:var(--muted);margin-top:3px}.card-heading h2{font-family:Georgia,serif;font-weight:400;margin:6px 0 16px}.linked-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.linked-person{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:11px;padding:12px}.linked-person strong,.linked-person small{display:block}.linked-person strong{font-size:12px}.linked-person small{font-size:10px;color:var(--muted);margin-top:3px}@media(max-width:760px){.doctor-picker,.linked-grid{grid-template-columns:1fr}}
.portfolio-filters{grid-template-columns:2fr 1fr 1fr auto}.portfolio-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.portfolio-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px;box-shadow:0 8px 30px rgba(20,53,47,.04)}.portfolio-card-top{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding-bottom:16px;border-bottom:1px solid var(--line)}.portfolio-card-top h2{font-family:Georgia,serif;font-size:20px;font-weight:400;margin:0}.portfolio-card-top p{font-size:10px;color:var(--muted);margin:4px 0 0}.priority{padding:5px 8px;border-radius:999px;font-size:10px;font-weight:800}.priority.high{background:#f6dddd;color:#923b3b}.priority.medium{background:#f6edd6;color:#86651f}.priority.standard{background:var(--mint);color:var(--green)}.portfolio-info{display:grid;grid-template-columns:1fr 1fr;gap:13px;padding:17px 0}.portfolio-info span,.portfolio-info strong{display:block}.portfolio-info span{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:4px}.portfolio-info strong{font-size:12px}.portfolio-card-foot{display:flex;justify-content:space-between;align-items:center;padding-top:13px;border-top:1px solid var(--line)}.empty-wide{grid-column:span 2}.compact-form{max-width:1050px}@media(max-width:900px){.portfolio-grid{grid-template-columns:1fr}.empty-wide{grid-column:auto}}@media(max-width:760px){.portfolio-filters{grid-template-columns:1fr}.portfolio-card{padding:16px}.portfolio-card-top{grid-template-columns:auto 1fr}.portfolio-card-top .priority{grid-column:2;justify-self:start}.portfolio-info{grid-template-columns:1fr}.portfolio-card-foot{align-items:flex-start;gap:10px;flex-direction:column}}
.agenda-nav{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:15px;padding:12px 16px;margin-bottom:14px}.agenda-nav-date h2{margin:2px 0 0;font-size:17px}.agenda-nav-actions{margin-left:auto;display:flex;align-items:center;gap:10px}.view-toggle{display:flex;border:1px solid var(--line);border-radius:10px;overflow:hidden}.view-toggle a{padding:9px 16px;font-size:12px;font-weight:700;color:var(--muted);background:#fff}.view-toggle a+.view-toggle a,.view-toggle a+a{border-left:1px solid var(--line)}.view-toggle a.active{background:var(--green);color:#fff}.agenda-nav h2{font-family:Georgia,serif;font-weight:400;margin:3px 0 0}.day-arrow{width:38px;height:38px;border:1px solid var(--line);border-radius:10px;display:grid;place-items:center}.today-link{padding:9px 14px;border:1px solid var(--line);border-radius:10px;color:var(--green2);font-size:12px;font-weight:700;background:#fff}.agenda-summary{grid-template-columns:repeat(5,1fr);background:#fff;color:inherit;border:1px solid var(--line);border-radius:15px;margin-bottom:14px}.agenda-summary>div{padding:19px 18px;border-right:1px solid var(--line)}.agenda-summary>div:last-child{border-right:0}.agenda-summary strong{font-size:24px;color:var(--green)}.agenda-summary span{color:var(--muted);font-size:10.5px;margin-top:2px;text-transform:uppercase;letter-spacing:.05em}.agenda-filters{grid-template-columns:repeat(8,1fr);max-width:none}.f-view{grid-column:span 1}.f-from{grid-column:span 1}.f-to{grid-column:span 1}.f-user{grid-column:span 2}.f-status{grid-column:span 3}.f-doctor{grid-column:span 2}.f-clinic{grid-column:span 2}.f-specialty{grid-column:span 1}.f-frequency{grid-column:span 1}.f-priority{grid-column:span 1}.agenda-filters .button{grid-column:span 1;height:47px}.timeline{display:grid;gap:12px}.appointment-card{display:grid;grid-template-columns:95px 1fr;background:#fff;border:1px solid var(--line);border-left:4px solid #87aa9f;border-radius:15px;overflow:hidden}.appointment-card.confirmed{border-left-color:#4b9f6c}.appointment-card.cancelled{opacity:.65;border-left-color:#b89393}.appointment-time{padding:20px;display:flex;flex-direction:column;align-items:center;border-right:1px solid var(--line)}.appointment-time strong{font-family:Georgia,serif;font-size:23px;font-weight:400}.appointment-time span{font-size:11px;color:var(--muted);margin-top:4px}.appointment-body{padding:18px 20px}.appointment-heading{display:flex;justify-content:space-between;gap:15px}.appointment-heading h2{font-family:Georgia,serif;font-weight:400;margin:0}.appointment-heading p{color:var(--muted);font-size:11px;margin:4px 0}.agenda-status{padding:5px 9px;border-radius:999px;font-size:10px;font-weight:800;align-self:flex-start;background:#e5ece8;color:#536a63}.agenda-status.confirmed{background:#def0e5;color:#28754a}.agenda-status.cancelled{background:#f0e3e3;color:#8a4d4d}.appointment-meta{display:flex;gap:20px;color:var(--muted);font-size:10px;margin:12px 0}.appointment-objective{font-size:12px}.appointment-notes{font-size:11px;color:var(--muted);line-height:1.5}.appointment-actions{display:flex;gap:6px;margin-top:14px}.appointment-actions form{margin:0}@media(max-width:1180px){.agenda-filters{grid-template-columns:repeat(4,1fr)}.agenda-summary{grid-template-columns:repeat(3,1fr)}.agenda-summary>div:nth-child(3){border-right:0}.f-view,.f-from,.f-to,.f-status,.f-frequency,.f-priority{grid-column:span 1}.f-user{grid-column:span 2}.f-doctor,.f-clinic,.f-specialty{grid-column:span 2}}@media(max-width:760px){.agenda-filters{grid-template-columns:1fr 1fr;max-width:none}.agenda-filters label{grid-column:span 1}.f-doctor,.f-clinic,.f-specialty,.f-user,.agenda-filters .button{grid-column:span 2}.agenda-summary{grid-template-columns:repeat(2,1fr)}.agenda-summary>div{border-bottom:1px solid var(--line)}.agenda-nav{flex-wrap:wrap}.agenda-nav-actions{width:100%;justify-content:space-between}.appointment-card{grid-template-columns:70px 1fr}.appointment-time{padding:16px 8px}.appointment-time strong{font-size:18px}.appointment-body{padding:16px 13px}.appointment-heading{flex-direction:column;gap:5px}.appointment-meta{flex-direction:column;gap:4px}.agenda-nav{padding:12px}.agenda-summary>div{padding:12px 8px}}
.icon-button.primary-action{background:var(--green);color:#fff;border-color:var(--green)}.appointment-card.completed{border-left-color:#2c7462}.agenda-status.completed{background:var(--mint);color:var(--green)}.visits-filters{grid-template-columns:2fr repeat(5,1fr) auto}.visit-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.visit-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px;box-shadow:0 8px 30px rgba(20,53,47,.04)}.visit-card.invalid{opacity:.62}.visit-card-head{display:flex;justify-content:space-between;gap:14px;padding-bottom:14px;border-bottom:1px solid var(--line)}.visit-date{font-size:10px;color:var(--green2);font-weight:800}.visit-card-head h2{font-family:Georgia,serif;font-weight:400;margin:6px 0 2px}.visit-card-head p{font-size:11px;color:var(--muted);margin:0}.result-tag{padding:6px 9px;border-radius:999px;align-self:flex-start;font-size:9px;font-weight:800;white-space:nowrap}.result-tag.completed{background:#def0e5;color:#28754a}.result-tag.no_contact{background:#f2e2e2;color:#8a4d4d}.result-tag.rescheduled{background:#f5ecd5;color:#80621f}.visit-card-info{display:flex;flex-wrap:wrap;gap:7px;margin:14px 0}.visit-card-info span{background:#f0f4f1;border-radius:7px;padding:5px 7px;color:var(--muted);font-size:9px}.visit-subjects{font-size:12px;line-height:1.6;color:#3f514d;min-height:38px}.source-banner{max-width:1050px;background:var(--green);color:#fff;border-radius:14px;padding:16px 20px;margin-bottom:16px;display:flex;align-items:center;gap:15px}.source-banner span{color:var(--lime);font-size:10px;text-transform:uppercase;letter-spacing:.1em;font-weight:800}.source-banner small{margin-left:auto;color:#bdd0ca}@media(max-width:1050px){.visits-filters{grid-template-columns:repeat(3,1fr)}}@media(max-width:760px){.visit-grid{grid-template-columns:1fr}.visits-filters{grid-template-columns:1fr}.visit-card{padding:16px}.visit-card-head{flex-direction:column}.result-tag{align-self:flex-start}.source-banner{align-items:flex-start;flex-direction:column;gap:5px}.source-banner small{margin:0}}
.route-filters{grid-template-columns:repeat(4,1fr) auto}.route-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.route-card{display:grid;grid-template-columns:90px 1fr;background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden}.route-card.inactive-card{opacity:.65}.route-date{background:var(--green);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center}.route-date strong{font-family:Georgia,serif;font-size:32px;font-weight:400}.route-date span{font-size:10px;color:#bcd0ca}.route-main{padding:18px}.route-title{display:flex;justify-content:space-between;gap:12px}.route-title h2{font-family:Georgia,serif;font-weight:400;margin:0}.route-title p{font-size:10px;color:var(--muted);margin:4px 0}.route-status{font-size:9px;font-weight:800;padding:5px 8px;border-radius:999px;align-self:flex-start;background:#e8eeeb;color:#536a63}.route-status.planned{background:#def0e5;color:#28754a}.route-status.completed{background:var(--mint);color:var(--green)}.route-status.cancelled{background:#f2e2e2;color:#8a4d4d}.route-stats{margin:15px 0;color:var(--muted);font-size:11px}.route-stats strong{color:var(--ink)}.route-actions{display:flex;gap:8px;align-items:center}.route-overview{display:grid;grid-template-columns:repeat(3,1fr);background:var(--green);color:#fff;border-radius:15px;margin-bottom:16px}.route-overview>div{padding:18px 22px;border-right:1px solid rgba(255,255,255,.12)}.route-overview>div:last-child{border:0}.route-overview span,.route-overview strong{display:block}.route-overview span{font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:#adcbc3}.route-overview strong{margin-top:4px}.route-note{background:#fff;border:1px solid var(--line);border-radius:12px;padding:15px;color:var(--muted);font-size:12px;margin-bottom:16px}.route-workspace{display:grid;grid-template-columns:1fr 330px;gap:18px;align-items:start}.stop-list{min-width:0}.stop-card{display:grid;grid-template-columns:50px 1fr;background:#fff;border:1px solid var(--line);border-radius:14px;margin-bottom:10px;overflow:hidden}.stop-position{display:grid;place-items:center;background:var(--mint);color:var(--green);font-family:Georgia,serif;font-size:22px}.stop-content{padding:16px;display:grid;grid-template-columns:1fr auto;gap:10px}.stop-content h3{font-family:Georgia,serif;font-weight:400;margin:4px 0}.stop-content p{font-size:10px;color:var(--muted);margin:0}.stop-time{font-size:9px;font-weight:800;color:var(--green2)}.stop-location{text-align:right}.stop-location strong,.stop-location span{display:block;font-size:10px}.stop-location span{color:var(--muted);margin-top:3px}.stop-notes{grid-column:span 2!important;background:#f6f8f6;padding:8px!important;border-radius:7px}.stop-actions{grid-column:span 2;display:flex;gap:5px}.stop-actions form{margin:0}.stop-actions button:disabled{opacity:.35;cursor:not-allowed}.empty-stops{background:#fff;border:1px dashed #becbc5;border-radius:14px;padding:40px;text-align:center;color:var(--muted)}.add-stop{background:#fff;border:1px solid var(--line);border-radius:15px;padding:20px;position:sticky;top:95px}.add-stop h2{font-family:Georgia,serif;font-weight:400;margin:7px 0 18px}.add-stop label{display:block;font-size:11px;font-weight:700;margin:13px 0}.add-stop textarea{width:100%;border:1px solid #ced9d3;border-radius:9px;padding:10px;margin-top:7px;resize:vertical}.add-stop .button{margin-top:8px}@media(max-width:1050px){.route-workspace{grid-template-columns:1fr}.add-stop{position:static}.route-filters{grid-template-columns:repeat(2,1fr) auto}}@media(max-width:760px){.route-grid{grid-template-columns:1fr}.route-filters{grid-template-columns:1fr}.route-card{grid-template-columns:65px 1fr}.route-main{padding:15px}.route-title{flex-direction:column}.route-status{align-self:flex-start}.route-overview>div{padding:14px 10px}.stop-card{grid-template-columns:42px 1fr}.stop-content{grid-template-columns:1fr}.stop-location{text-align:left}.stop-notes,.stop-actions{grid-column:auto!important}.stop-actions{flex-wrap:wrap}}
.cycle-filters{grid-template-columns:1fr auto;max-width:430px}.cycle-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.cycle-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:21px}.cycle-head{display:flex;justify-content:space-between;gap:15px}.cycle-head>div>span{font-size:9px;color:var(--green2);font-weight:800}.cycle-head h2{font-family:Georgia,serif;font-weight:400;margin:6px 0}.cycle-status{font-size:9px;font-weight:800;padding:5px 8px;border-radius:999px;align-self:flex-start;background:#e8eeeb}.cycle-status.active{background:#def0e5;color:#28754a}.cycle-status.completed{background:var(--mint);color:var(--green)}.cycle-status.cancelled{background:#f2e2e2;color:#8a4d4d}.cycle-progress{padding:17px 0}.cycle-progress>div:first-child{display:flex;justify-content:space-between;font-size:11px}.progress-track{height:8px;border-radius:8px;background:#e4ebe7;overflow:hidden;margin:9px 0}.progress-track i{display:block;height:100%;background:linear-gradient(90deg,var(--green2),var(--lime));border-radius:8px}.cycle-progress small{color:var(--muted);font-size:9px}.cycle-hero{display:grid;grid-template-columns:repeat(3,1fr);background:var(--green);color:#fff;border-radius:16px;margin-bottom:16px;overflow:hidden}.cycle-hero>div:not(.progress-track){padding:20px;border-right:1px solid rgba(255,255,255,.12)}.cycle-hero span,.cycle-hero strong{display:block}.cycle-hero span{font-size:9px;color:#adcbc3;text-transform:uppercase}.cycle-hero strong{font-family:Georgia,serif;font-size:26px;font-weight:400;margin-top:4px}.cycle-hero .progress-track{grid-column:span 3;margin:0;height:7px;border-radius:0;background:rgba(255,255,255,.1)}.cycle-workspace{display:grid;grid-template-columns:1fr 330px;gap:18px;align-items:start}.target-list{display:grid;gap:10px}.target-card{background:#fff;border:1px solid var(--line);border-radius:13px;padding:15px}.target-main{display:flex;align-items:center;gap:11px}.target-main>div{flex:1}.target-main h3{font-family:Georgia,serif;font-weight:400;margin:0}.target-main p,.target-card>p{font-size:10px;color:var(--muted);margin:4px 0}.target-main>strong{font-family:Georgia,serif;font-size:20px}.target-card form{margin-top:10px}@media(max-width:900px){.cycle-grid{grid-template-columns:1fr}.cycle-workspace{grid-template-columns:1fr}}@media(max-width:760px){.cycle-filters{grid-template-columns:1fr;max-width:none}.cycle-hero>div:not(.progress-track){padding:15px 10px}.cycle-hero strong{font-size:21px}}
.history-filters{grid-template-columns:repeat(5,1fr) auto}.history-timeline{display:grid;gap:0;max-width:1050px}.history-event{display:grid;grid-template-columns:55px 1fr;position:relative}.history-event:not(:last-child):before{content:"";position:absolute;left:26px;top:48px;bottom:-8px;width:2px;background:#d9e3de}.history-marker{padding-top:12px;z-index:1}.history-marker span{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:var(--mint);color:var(--green);font-size:11px;font-weight:800}.history-event.appointment .history-marker span{background:#e8ecf3;color:#435f82}.history-event.visit .history-marker span{background:#def0e5;color:#28754a}.history-content{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px 20px;margin-bottom:12px}.history-heading{display:flex;justify-content:space-between;gap:15px}.history-heading>div>span{font-size:9px;color:var(--green2);font-weight:800}.history-heading h2{font-family:Georgia,serif;font-weight:400;margin:5px 0 2px}.history-heading p{font-size:10px;color:var(--muted);margin:0}.history-status{font-size:9px;font-weight:800;background:#edf2ef;border-radius:999px;padding:5px 8px;align-self:flex-start}.history-content h3{font-size:13px;margin:16px 0 5px}.history-content>p{font-size:11px;color:#4d605b;line-height:1.5;margin:0}.history-meta{display:flex;gap:18px;color:var(--muted);font-size:9px;margin-top:13px}.history-actions{margin-top:12px}@media(max-width:1050px){.history-filters{grid-template-columns:repeat(3,1fr)}}@media(max-width:760px){.history-filters{grid-template-columns:1fr}.history-event{grid-template-columns:43px 1fr}.history-event:not(:last-child):before{left:19px}.history-marker span{width:30px;height:30px}.history-content{padding:15px}.history-heading{flex-direction:column}.history-status{align-self:flex-start}.history-meta{flex-direction:column;gap:4px}}
.reports-filters{grid-template-columns:1fr 1fr 1.4fr auto}.reports-filters .button{height:47px}.report-metrics{display:grid;grid-template-columns:repeat(7,1fr);grid-auto-rows:1fr;gap:12px;margin-bottom:8px}.report-metrics article{background:#fff;border:1px solid var(--line);border-radius:15px;padding:16px 14px;min-width:0;display:flex;flex-direction:column}.report-metrics article.coverage{background:var(--green);color:#fff}.report-metrics span,.report-metrics strong,.report-metrics small{display:block}.report-metrics span{color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.09em;font-weight:800}.report-metrics strong{font-family:Georgia,serif;font-size:31px;font-weight:400;margin:6px 0 3px}.report-metrics small{color:var(--muted);font-size:9px;margin-top:auto;padding-top:3px}.report-metrics .coverage span,.report-metrics .coverage small{color:#bcd0ca}.report-progress{height:5px;background:rgba(255,255,255,.14);border-radius:5px;overflow:hidden;margin-top:10px}.report-progress i{display:block;height:100%;background:var(--lime)}.report-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:25px}.report-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:20px}.report-card.span-2{grid-column:span 2}.report-card-head>span{font-size:9px;color:var(--green2);text-transform:uppercase;letter-spacing:.1em;font-weight:800}.report-card-head h2{font-family:Georgia,serif;font-weight:400;margin:5px 0 18px}.dash-kpis{grid-template-columns:repeat(3,1fr)}.dash-kpi strong{font-size:28px}.dash-week{display:flex;align-items:flex-end;gap:5px;margin-top:auto;padding-top:10px;height:38px}.dash-week>span{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:2px;height:100%;min-width:0}.dash-week b{display:block;width:100%;background:var(--lime);border-radius:3px 3px 0 0;min-height:3px}.dash-week em{font-style:normal;font-size:7px;text-transform:uppercase;color:var(--muted);letter-spacing:.06em}.dash-week i{font-style:normal;font-size:8px;color:var(--muted)}@media(max-width:980px){.dash-kpis{grid-template-columns:repeat(2,1fr)}}@media(max-width:767px){.dash-kpis{grid-template-columns:1fr}}.bar-list{display:grid;gap:14px}.bar-list>div>div{display:flex;justify-content:space-between;gap:15px;font-size:11px}.bar-list>div>div strong{font-size:12px}.bar-list i{display:block;height:7px;background:#e8eeeb;border-radius:7px;overflow:hidden;margin-top:7px}.bar-list b{display:block;height:100%;border-radius:7px;background:linear-gradient(90deg,var(--green2),var(--lime))}.team-bars{grid-template-columns:1fr 1fr;column-gap:28px}.report-empty{color:var(--muted);font-size:11px;text-align:center;padding:24px 0}@media(max-width:1499px){.report-metrics{grid-template-columns:repeat(4,1fr)}}@media(max-width:1199px){.report-metrics{grid-template-columns:repeat(3,1fr)}}@media(max-width:991px){.report-metrics{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.reports-filters,.report-metrics,.report-grid{grid-template-columns:1fr}.report-card.span-2{grid-column:auto}.team-bars{grid-template-columns:1fr}.report-card{padding:17px}}
.settings-form{max-width:1050px}.system-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.system-facts>div{border:1px solid var(--line);border-radius:12px;padding:16px;background:#f9fbf9}.system-facts span,.system-facts strong{display:block}.system-facts span{font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.09em;margin-bottom:6px}.system-facts strong{font-size:12px}.settings-form input:disabled,.settings-form select:disabled{background:#eef2ef;color:#66746f;cursor:not-allowed}@media(max-width:760px){.system-facts{grid-template-columns:1fr}}
:root{--sidebar:#153d38;--sidebar-active:#1f6157;--input-border:#ced9d3;--nexa-blue:#0b69d5;--nexa-cyan:#18c8f5;--nexa-green:#35d36f;--success:#28754a;--warning:#86651f}.sidebar{background:var(--sidebar)}.nav-item.active{background:var(--sidebar-active);color:#fff;box-shadow:inset 3px 0 var(--lime)}input,select,.form-grid textarea,.add-stop textarea{border-color:var(--input-border)}.status.active,.agenda-status.confirmed,.result-tag.completed,.route-status.planned,.cycle-status.active,.history-event.visit .history-marker span{color:var(--success)}.priority.medium,.result-tag.rescheduled{color:var(--warning)}
.story-logo{display:block;width:min(390px,85%);height:auto}.story-brand{width:100%}@media(max-width:600px){.story-logo{width:min(300px,90%)}}
.icon-sprite{position:absolute;width:0;height:0;overflow:hidden}.nav-icon{width:25px;height:25px;padding:5px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.brand{display:block;margin:0 0 16px;padding:0 8px 20px;background:transparent;border:0;border-bottom:1px solid rgba(255,255,255,.12);border-radius:0}.brand-logo-main{display:block;width:100%;height:auto}
.field-exec{grid-column:span 2;border-top:1px dashed var(--line);padding-top:10px;margin-top:2px}.field-exec-row{display:flex;align-items:center;gap:9px;flex-wrap:wrap;font-size:11px;color:var(--muted)}.field-badge{font-size:9px;font-weight:800;padding:5px 8px;border-radius:999px}.field-badge.open{background:#def0e5;color:#28754a}.field-badge.closed{background:var(--mint);color:var(--green)}.field-evidence{grid-column:span 2!important;font-size:10px;color:var(--muted);background:#f6f8f6;border-radius:7px;padding:7px 9px!important}.field-exec-actions{display:flex;gap:5px;flex-wrap:wrap;align-items:center}.geo-feedback{display:none;font-size:10px;color:var(--muted);margin-top:6px}.geo-feedback.visible{display:block}.geo-feedback.geo-ok{color:var(--success)}.geo-feedback.geo-error{color:var(--danger)}.geo-form{margin:0}.geo-exception{background:#fdf6ec;border:1px solid #eadfc8;border-radius:9px;padding:10px;margin-top:8px}.geo-exception label{display:block;font-size:10px;font-weight:700;margin:8px 0}.geo-exception select,.geo-exception textarea{width:100%;border:1px solid var(--input-border);border-radius:8px;padding:8px;margin-top:5px;background:#fff}.geo-exception small{display:block;font-weight:400;color:var(--muted);margin-top:4px}@media(max-width:760px){.field-exec,.field-evidence{grid-column:auto!important}.field-exec-actions{flex-wrap:wrap}}

.cep-row{display:flex;align-items:center;gap:8px;margin-top:7px}.cep-row input{margin-top:0;flex:1;min-width:0}.cep-success{font-size:12px;font-weight:700;color:var(--success);white-space:nowrap}.cep-feedback{display:block;font-size:11px;font-weight:400;color:var(--muted);min-height:12px;margin-top:4px}.cep-feedback[data-state="loading"]{color:var(--green2)}.cep-feedback[data-state="ok"]{color:var(--success)}.cep-feedback[data-state="error"]{color:var(--danger)}.cep-admin{grid-column:span 2;display:flex;justify-content:flex-end;align-items:center}.loc-adjust{margin:0;padding:4px 2px;font-size:11px;color:var(--muted)}.loc-adjust:hover{color:var(--green2)}.cep-admin-panel{background:#f6f8f6;border:1px solid var(--line);border-radius:10px;padding:14px;margin-top:8px}.cep-admin-head{display:flex;justify-content:space-between;align-items:center;font-size:10px;letter-spacing:.1em;color:var(--green2);font-weight:800;margin-bottom:10px}.cep-admin-origin{font-size:11px;color:var(--muted);margin:0 0 10px}.cep-admin-actions{display:flex;justify-content:flex-end;margin-top:12px}.cep-admin .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}@media(max-width:600px){.cep-admin{grid-column:auto}.cep-admin .form-grid{grid-template-columns:1fr}}
.doctor-photo{position:relative;overflow:hidden;display:grid;place-items:center}.doctor-photo>.avatar-fallback{width:100%;height:100%;display:grid;place-items:center;pointer-events:none}.doctor-photo>.doctor-photo-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:none}.doctor-photo>.doctor-photo-img.loaded{display:block}
.specialty-field{position:relative}.specialty-label{display:block;font-size:12px;font-weight:700;color:#394a46}.specialty-input-wrap{position:relative;margin-top:7px}.specialty-input-wrap .specialty-search{margin-top:0;padding-right:36px}.specialty-clear{position:absolute;right:6px;top:50%;transform:translateY(-50%);border:0;background:transparent;color:var(--muted);font-size:18px;line-height:1;padding:2px 6px;border-radius:6px}.specialty-clear:hover{color:var(--danger)}.specialty-dropdown{position:absolute;top:100%;left:0;right:0;z-index:30;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 32px rgba(20,53,47,.12);max-height:290px;overflow-y:auto;margin-top:4px}.specialty-option{padding:10px 12px;font-size:13px;color:var(--ink);cursor:pointer}.specialty-option:hover,.specialty-option.active{background:var(--mint)}.specialty-empty{padding:12px;font-size:12px;color:var(--muted)}
.birthday-panel{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px;margin-bottom:18px}.birthday-groups{display:grid;grid-template-columns:1fr 1fr;gap:22px}.birthday-group{display:grid;gap:10px}.birthday-group>.eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-weight:800}.birthday-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--line);border-radius:11px}.birthday-item:hover{border-color:var(--green2)}.birthday-date{min-width:52px;font-size:11px;font-weight:800;color:var(--green2)}.birthday-item strong,.birthday-item small{display:block}.birthday-item strong{font-size:13px}.birthday-item small{font-size:11px;color:var(--muted);margin-top:2px}@media(max-width:760px){.birthday-groups{grid-template-columns:1fr}}
.link-card{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;border:1px solid var(--line);border-radius:11px;padding:13px 14px}.link-card.history{opacity:.75}.link-card-main{display:flex;flex-direction:column;gap:3px;min-width:0}.link-card-main strong{font-size:13px}.link-card-main small{font-size:11px;color:var(--muted)}.link-end-form{display:flex;gap:8px;align-items:center;margin:0}.link-end-form input{width:auto;margin-top:0}.link-end-form .icon-button{flex:none}.link-new-form{display:grid;grid-template-columns:1fr 1fr;gap:14px;max-width:720px}.link-new-form label{font-size:12px;font-weight:700;color:#394a46}.link-new-form input,.link-new-form select{margin-top:6px}.link-new-form .form-actions{grid-column:span 2;padding:0;justify-content:flex-end}@media(max-width:600px){.link-new-form{grid-template-columns:1fr}.link-new-form .form-actions{grid-column:auto}}
.appointment-contacts{font-size:11px;color:var(--muted);margin:8px 0 0}.support-contacts-preview{background:#f6f8f6;border:1px solid var(--line);border-radius:10px;padding:12px 14px}.support-contacts-preview .eyebrow{display:block;margin-bottom:8px}.support-contacts-preview ul{list-style:none;margin:0;padding:0}.support-contacts-preview li{font-size:12px;color:var(--ink);padding:3px 0}
.stop-contacts{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:10px;padding:8px 10px;background:#f6f8f6;border:1px solid var(--line);border-radius:9px}.stop-contacts-label{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:800;width:100%}.stop-contacts strong{font-size:12px}.stop-contacts small{font-size:11px;color:var(--muted)}.stop-contacts-multi{margin-top:10px}.stop-contacts-multi summary{font-size:11px;color:var(--green2);cursor:pointer;font-weight:700}.stop-contact-list{display:grid;gap:6px;margin-top:6px}.stop-contact-item{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:7px 10px;background:#f6f8f6;border:1px solid var(--line);border-radius:9px}.stop-contact-item strong{font-size:12px}.stop-contact-item small{font-size:11px;color:var(--muted)}
.geo-tool{grid-column:span 2;border-top:1px dashed var(--line);padding-top:10px;margin-top:2px}.geo-tool-head{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;color:var(--green2);font-weight:800}.geo-tool-head .link-button{font-size:11px;margin:0;padding:4px 2px;color:var(--muted)}.geo-tool-head .link-button:hover{color:var(--green2)}.geo-panel{background:#f6f8f6;border:1px solid var(--line);border-radius:10px;padding:14px;margin-top:10px}.geo-actions{position:relative;display:flex;gap:10px;flex-wrap:wrap;align-items:flex-start}.geo-actions .button{flex:none}.geo-query{flex:1;min-width:200px;margin-top:0}.geo-suggestions{position:absolute;z-index:40;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 32px rgba(20,53,47,.12);max-height:260px;overflow-y:auto;width:100%;margin-top:4px}.geo-suggestion{display:block;width:100%;text-align:left;padding:10px 12px;font-size:12px;color:var(--ink);background:transparent;border:0;border-bottom:1px solid var(--line);cursor:pointer}.geo-suggestion:hover{background:var(--mint)}.geo-map{height:340px;border:1px solid var(--line);border-radius:10px;margin-top:12px;z-index:0}.geo-results{margin-top:12px}.geo-results-title{font-size:11px;font-weight:800;color:var(--green2);text-transform:uppercase;letter-spacing:.08em;margin:0 0 8px}.geo-candidates{list-style:none;margin:0;padding:0;display:grid;gap:6px;max-height:230px;overflow-y:auto}.geo-candidate{background:#fff;border:1px solid var(--line);border-radius:9px;padding:10px 12px;cursor:pointer}.geo-candidate:hover{border-color:var(--green2)}.geo-candidate.selected{border-color:var(--green2);background:var(--mint)}.geo-candidate strong,.geo-candidate small{display:block}.geo-candidate strong{font-size:12px}.geo-candidate small{font-size:11px;color:var(--muted);margin-top:3px}.geo-candidate.geo-error{cursor:default;color:var(--danger);font-size:12px}.geo-confirm-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:12px}.geo-confirm-row .button{margin:0}.geo-replace{display:flex;align-items:center;gap:7px;font-size:11px;font-weight:700;color:var(--warning)}.geo-replace input{margin:0}.geo-note{font-size:10px;color:var(--muted);margin:10px 0 0}.geo-ref-marker{background:var(--nexa-blue);border:2px solid #fff;border-radius:50% 50% 50% 0;width:14px;height:14px;transform:rotate(-45deg)}@media(max-width:600px){.geo-tool{grid-column:auto}.geo-actions .geo-query{min-width:100%}}
.doctor-picker{position:relative;max-width:900px;display:block;grid-template-columns:none;gap:0}.doctor-search-wrap{position:relative}.doctor-search{width:100%;margin-top:0;height:41px}.doctor-suggestions{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:40;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 32px rgba(20,53,47,.12);max-height:260px;overflow-y:auto}.doctor-suggestion{display:flex;justify-content:space-between;gap:10px;width:100%;text-align:left;padding:10px 12px;font-size:12px;color:var(--ink);background:transparent;border:0;border-bottom:1px solid var(--line);cursor:pointer}.doctor-suggestion:hover{background:var(--mint)}.doctor-suggestion strong,.doctor-suggestion small{display:block}.doctor-suggestion strong{font-size:12px}.doctor-suggestion small{font-size:10px;color:var(--muted);margin-top:3px}.doctor-empty{padding:12px;font-size:12px;color:var(--muted)}.doctor-selected{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.doctor-chip{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:999px;background:#fff;padding:6px 10px;font-size:12px}.doctor-chip strong{font-weight:700}.doctor-chip small{color:var(--muted);font-size:11px}.doctor-chip-remove{border:0;background:transparent;color:var(--muted);font-size:16px;line-height:1;cursor:pointer;padding:0 2px}.doctor-chip-remove:hover{color:var(--danger)}.doctor-count{margin-top:10px;font-size:11px}
.app-shell{display:grid;grid-template-columns:240px 1fr;min-height:100vh}.sidebar-collapsed .app-shell{grid-template-columns:72px 1fr}.sidebar{position:fixed;inset:0 auto 0 0;width:240px;background:var(--green);color:#eaf2ee;padding:20px 14px;display:flex;flex-direction:column;z-index:20;transition:width .22s ease}.sidebar-collapsed .sidebar{width:72px;padding:18px 10px}.brand{display:flex;align-items:center;justify-content:center;padding:0 6px 14px;border-bottom:1px solid rgba(255,255,255,.12);margin:0}.brand-logo-main{display:block;width:100%;height:auto;max-height:48px;object-fit:contain}.brand-logo-mini{display:none;width:46px;height:46px;object-fit:contain;flex:none}.sidebar-collapsed .brand-logo-main{display:none}.sidebar-collapsed .brand-logo-mini{display:block}.sidebar nav{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.16) transparent;padding:4px 2px 6px 0}.sidebar nav::-webkit-scrollbar{width:5px}.sidebar nav::-webkit-scrollbar-track{background:transparent}.sidebar nav::-webkit-scrollbar-thumb{background:rgba(255,255,255,.16);border-radius:999px}.nav-group-title{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;background:none;border:0;padding:0;margin:10px 10px 4px;color:#9bb6af;font-size:9.5px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;cursor:pointer;font-family:inherit;text-align:left}.nav-group:first-child .nav-group-title{margin-top:0}.nav-group-title.static{cursor:default}.nav-group-chevron{width:11px;height:11px;color:#9bb6af;transition:transform .2s ease;flex:none}.nav-group.open .nav-group-chevron{transform:rotate(180deg)}.nav-group-items{max-height:0;overflow:hidden;transition:max-height .2s ease}.nav-item{display:flex;align-items:center;gap:11px;border-radius:9px;padding:11px 12px;color:#d1dfda;font-size:13.5px;min-height:44px;position:relative;text-decoration:none;transition:background .15s,color .15s}.nav-item:hover{background:rgba(255,255,255,.08);color:#fff}.nav-item.active{background:rgba(255,255,255,.12);color:#fff;box-shadow:inset 3px 0 var(--lime)}.nav-icon{width:20px;height:20px;flex:none;border:1px solid rgba(255,255,255,.16);border-radius:6px;display:grid;place-items:center;font-size:10px;font-weight:800}.nav-item.active .nav-icon{border-color:var(--lime);color:var(--lime)}.nav-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-collapsed .nav-group{display:block}.sidebar-collapsed .nav-group-title{display:none}.sidebar-collapsed .nav-group-items{max-height:none!important;overflow:visible!important}.sidebar-collapsed .nav-item{justify-content:center;padding:11px 0;margin:0 auto;width:46px}.sidebar-collapsed .nav-label{display:none}.sidebar-foot{margin-top:auto;padding:8px 2px 0;border-top:1px solid rgba(255,255,255,.1);color:#88a39c;font-size:11px}.sidebar-collapse{display:flex;align-items:center;justify-content:center;width:100%;background:transparent;border:0;color:#9bb6af;font-size:12px;padding:6px 10px;border-radius:8px;cursor:pointer;font-family:inherit;transition:background .15s,color .15s}.sidebar-collapse:hover{background:rgba(255,255,255,.08);color:#fff}.collapse-icon{width:18px;height:18px;flex:none;display:grid;place-items:center;transition:transform .2s ease}.sidebar-collapsed .collapse-icon{transform:rotate(180deg)}.sidebar-collapsed .collapse-label{display:none}.sidebar-collapsed .sidebar-collapse{justify-content:center;padding:7px 0}.sidebar-version{display:block;padding:6px 10px 0;color:#88a39c;font-size:10px;text-align:left}.sidebar-collapsed .sidebar-version{display:none}.menu-toggle{display:none;border:1px solid var(--line);background:#fff;padding:8px 10px;border-radius:8px;cursor:pointer;font-family:inherit}@media(max-width:1023px) and (min-width:768px){.app-shell{grid-template-columns:1fr}.sidebar-collapsed .app-shell{grid-template-columns:1fr}.main-area{grid-column:1;margin-left:72px}.sidebar{transform:none;width:72px}.menu-open .sidebar{width:240px;transform:none}.menu-open .overlay{display:block;position:fixed;inset:0;background:rgba(8,25,22,.45);z-index:15}.menu-toggle{display:block}.topbar-title{display:none}.menu-open .sidebar{padding:22px 16px}.sidebar-collapse{display:none}.menu-open .nav-label{display:block}.menu-open .nav-group{display:block}.menu-open .nav-item{justify-content:flex-start;width:auto;margin:0}.menu-open .brand-logo-main{display:block}.menu-open .brand-logo-mini{display:none}.menu-open .sidebar-version{display:block}}@media(max-width:767px){.app-shell{grid-template-columns:1fr}.sidebar-collapsed .app-shell{grid-template-columns:1fr}.main-area{grid-column:1;margin-left:0}.sidebar{transform:translateX(-100%);transition:transform .22s ease;width:240px;padding:22px 16px}.menu-open .sidebar{transform:translateX(0);width:240px}.menu-open .overlay{display:block;position:fixed;inset:0;background:rgba(8,25,22,.45);z-index:15}.menu-toggle{display:block}.topbar-title{display:none}.sidebar-collapse{display:none}.menu-open .nav-label{display:block}.menu-open .nav-group{display:block}.menu-open .nav-item{justify-content:flex-start;width:auto;margin:0}.menu-open .brand-logo-main{display:block}.menu-open .brand-logo-mini{display:none}.menu-open .sidebar-version{display:block}}@media(min-width:1024px){.menu-open .overlay{display:none}}.user-profile{position:relative;display:flex;align-items:center}.user-profile-trigger{display:flex;align-items:center;gap:10px;background:none;border:0;padding:6px 8px;border-radius:10px;cursor:pointer;font-family:inherit;color:inherit;text-align:left}.user-profile-trigger:hover{background:var(--mint)}.user-profile-trigger .user-info{display:flex;flex-direction:column;justify-content:center;line-height:1.35;min-width:0}.user-profile-trigger strong{font-size:13px;font-weight:700}.user-profile-trigger span{font-size:11px;color:var(--muted)}.chevron{font-size:11px;color:var(--muted);transition:transform .15s}.menu-open .chevron{transform:rotate(180deg)}.user-profile-menu{position:absolute;top:calc(100% + 8px);right:0;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 32px rgba(20,53,47,.12);width:220px;min-width:200px;max-width:calc(100vw - 24px);padding:8px;z-index:60}.user-profile-menu[hidden]{display:none}.user-profile-menu form{margin:0}.menu-user{padding:8px 12px 10px;border-bottom:1px solid var(--line);margin-bottom:6px}.menu-user strong,.menu-user span{display:block}.menu-user strong{font-size:13px;font-weight:700}.menu-user span{font-size:11px;color:var(--muted);margin-top:2px}.dropdown-logout{display:flex;align-items:center;gap:8px;width:100%;background:none;border:0;border-radius:8px;padding:9px 12px;font-size:13px;color:var(--danger);cursor:pointer;font-family:inherit;text-align:left}.dropdown-logout:hover{background:#fdf3f3}.logout-icon{width:15px;height:15px;stroke:currentColor;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}@media(max-width:600px){.user-profile-trigger strong,.user-profile-trigger span{display:none}.user-profile-menu{width:min(220px,calc(100vw - 24px))}}




.geo-status-badge {
  grid-column: span 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 10px;
  padding: 10px 14px;
  background: #f0fdf4;
  border: 1px solid #bbf7d0;
  border-radius: 9px;
  font-size: 12.5px;
  color: #166534;
  margin-top: 4px;
  margin-bottom: 6px;
  box-sizing: border-box;
}
.geo-status-badge.loading {
  background: #f8fafc;
  border-color: #e2e8f0;
  color: #475569;
}
.geo-status-badge.error {
  background: #fef2f2;
  border-color: #fecaca;
  color: #991b1b;
}
.geo-badge-left {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}
.geo-badge-actions {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin-left: auto;
}
.geo-map-link {
  color: #0284c7 !important;
  font-weight: 700 !important;
  text-decoration: underline !important;
  font-size: 12px !important;
}
.geo-map-link:hover {
  color: #0369a1 !important;
}
.geo-refresh-btn {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  background: #ffffff;
  border: 1px solid #86efac;
  color: #15803d;
  font-size: 11.5px;
  font-weight: 700;
  padding: 4px 10px;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.15s ease;
}
.geo-refresh-btn:hover {
  background: #dcfce7;
  border-color: #4ade80;
}

.loc-advanced-wrapper {
  grid-column: span 2 !important;
  margin-top: 14px;
  margin-bottom: 8px;
}
.loc-adjust-trigger-row {
  display: flex;
  justify-content: flex-end;
}
.loc-adjust-btn {
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  color: #475569;
  font-size: 11.5px;
  font-weight: 700;
  cursor: pointer;
  padding: 6px 12px;
  border-radius: 8px;
  transition: all 0.15s ease;
}
.loc-adjust-btn:hover {
  background: #e2e8f0;
  color: #0f172a;
}
.loc-advanced-card {
  background: #ffffff;
  border: 1px solid #cbd5e1;
  border-radius: 12px;
  padding: 18px 22px;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.06);
  margin-top: 10px;
}
.loc-advanced-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding-bottom: 12px;
  border-bottom: 1px solid #f1f5f9;
  margin-bottom: 16px;
}
.loc-advanced-title {
  margin: 0;
  font-size: 13.5px;
  font-weight: 800;
  color: #0f172a;
}
.loc-advanced-subtitle {
  margin: 3px 0 0;
  font-size: 11.5px;
  color: #64748b;
}
.loc-advanced-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  margin-bottom: 16px;
}
.loc-advanced-grid label {
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-size: 12px;
  font-weight: 700;
  color: #334155;
}
.loc-advanced-grid input {
  padding: 9px 12px !important;
  border: 1px solid #cbd5e1 !important;
  border-radius: 8px !important;
  font-size: 13px !important;
  color: #0f172a !important;
  background: #ffffff !important;
  box-sizing: border-box;
  width: 100%;
}
.loc-advanced-grid input:focus {
  border-color: #10b981 !important;
  box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.15) !important;
  outline: none !important;
}
.loc-advanced-footer {
  display: flex;
  align-items: center;
  gap: 10px;
}
.small-btn {
  padding: 7px 16px !important;
  font-size: 12.5px !important;
  border-radius: 7px !important;
  margin: 0 !important;
}
.close-btn {
  background: transparent;
  border: none;
  font-size: 15px;
  color: #94a3b8;
  cursor: pointer;
  padding: 4px 8px;
  border-radius: 6px;
  font-weight: 700;
}
.close-btn:hover {
  background: #f1f5f9;
  color: #0f172a;
}

/* === REDESIGN MODERNO: CABEÇALHOS, KPIS E FILTROS === */

.page-head {
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-end !important;
  flex-direction: row !important;
  gap: 20px !important;
  margin-bottom: 22px !important;
}
.page-head h1 {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
  font-size: 26px !important;
  font-weight: 800 !important;
  color: #0f172a !important;
  margin: 4px 0 6px !important;
  letter-spacing: -0.02em !important;
  line-height: 1.15 !important;
}
.page-head p {
  color: #64748b !important;
  font-size: 13.5px !important;
  margin: 0 !important;
}
.page-head .eyebrow {
  font-size: 11px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  color: var(--green2) !important;
}
.head-actions {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}
.head-actions .button {
  height: 38px !important;
  padding: 0 16px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  border-radius: 8px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
}

/* CARDS DE INDICADORES (KPIS) MODERNOS */
.summary-strip {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)) !important;
  gap: 14px !important;
  background: transparent !important;
  border-radius: 0 !important;
  margin-bottom: 20px !important;
  overflow: visible !important;
}
.summary-strip > div {
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-left: 4px solid var(--green2) !important;
  border-radius: 12px !important;
  padding: 16px 20px !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.03) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  transition: transform 0.15s ease, box-shadow 0.15s ease !important;
}
.summary-strip > div:hover {
  box-shadow: 0 4px 14px rgba(20, 53, 47, 0.07) !important;
  transform: translateY(-1px) !important;
}
.summary-strip strong {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  font-size: 26px !important;
  font-weight: 800 !important;
  color: #0f172a !important;
  line-height: 1.1 !important;
  letter-spacing: -0.02em !important;
}
.summary-strip span {
  color: #64748b !important;
  font-size: 11.5px !important;
  font-weight: 700 !important;
  margin-top: 4px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
}

/* BARRA DE FILTROS INTEGRADA E PROPORCIONAL */
.filter-bar {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 14px !important;
  align-items: flex-end !important;
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 12px !important;
  padding: 16px 20px !important;
  margin-bottom: 22px !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.03) !important;
}
.filter-bar label {
  display: flex !important;
  flex-direction: column !important;
  gap: 5px !important;
  flex: 1 1 150px !important;
  min-width: 140px !important;
  margin: 0 !important;
}
.filter-bar label.search-field {
  flex: 2 1 240px !important;
  min-width: 220px !important;
}
.filter-bar label > span {
  font-size: 10.5px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  font-weight: 800 !important;
  color: #475569 !important;
}
.filter-bar input,
.filter-bar select {
  height: 38px !important;
  padding: 0 12px !important;
  border: 1px solid #cbd5e1 !important;
  border-radius: 8px !important;
  font-size: 13px !important;
  background: #f8fafc !important;
  color: #0f172a !important;
  margin-top: 0 !important;
  width: 100% !important;
  box-sizing: border-box !important;
  transition: all 0.15s ease !important;
}
.filter-bar input:focus,
.filter-bar select:focus {
  border-color: var(--green2) !important;
  background: #ffffff !important;
  box-shadow: 0 0 0 3px rgba(20, 53, 47, 0.1) !important;
  outline: none !important;
}
.filter-actions {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  align-self: flex-end !important;
  margin: 0 !important;
}
.filter-actions .button,
.filter-bar > .button {
  height: 38px !important;
  padding: 0 20px !important;
  border-radius: 8px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  white-space: nowrap !important;
  margin: 0 !important;
}
.filter-actions .button.secondary {
  background: #f1f5f9 !important;
  border: 1px solid #cbd5e1 !important;
  color: #475569 !important;
}
.filter-actions .button.secondary:hover {
  background: #e2e8f0 !important;
  color: #0f172a !important;
}

@media (max-width: 768px) {
  .page-head {
    flex-direction: column !important;
    align-items: flex-start !important;
  }
  .filter-bar label {
    flex: 1 1 100% !important;
  }
  .filter-actions {
    width: 100% !important;
    justify-content: flex-end !important;
  }
}

/* === REDESIGN DE CARDS KPI E PORTFOLIO === */

/* CARDS DE INDICADORES (KPIS) SUPER LIMPOS */
.summary-strip {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)) !important;
  gap: 16px !important;
  background: transparent !important;
  border-radius: 0 !important;
  margin-bottom: 22px !important;
  overflow: visible !important;
}
.summary-strip > div {
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 12px !important;
  padding: 18px 22px !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  transition: all 0.15s ease !important;
  position: relative !important;
}
.summary-strip > div:hover {
  border-color: #cbd5e1 !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05) !important;
  transform: translateY(-1px) !important;
}
.summary-strip strong {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  font-size: 28px !important;
  font-weight: 800 !important;
  color: var(--green2) !important;
  line-height: 1 !important;
  letter-spacing: -0.02em !important;
}
.summary-strip span {
  color: #64748b !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  margin-top: 6px !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

/* CARDS DA CARTEIRA DE MÉDICOS */
.portfolio-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(340px, 1fr)) !important;
  gap: 18px !important;
}
.portfolio-card {
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 12px !important;
  padding: 18px 20px !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  transition: all 0.15s ease !important;
}
.portfolio-card:hover {
  border-color: #cbd5e1 !important;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.05) !important;
}
.portfolio-card-top {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  padding-bottom: 14px !important;
  border-bottom: 1px solid #f1f5f9 !important;
}
.portfolio-card-top .avatar {
  width: 42px !important;
  height: 42px !important;
  border-radius: 10px !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  background: #e2e8f0 !important;
  color: #334155 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: none !important;
}
.portfolio-card-top div {
  flex: 1 !important;
  min-width: 0 !important;
}
.portfolio-card-top h2 {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #0f172a !important;
  margin: 0 !important;
  line-height: 1.25 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
.portfolio-card-top p {
  font-size: 11.5px !important;
  color: #64748b !important;
  margin: 2px 0 0 !important;
}
.portfolio-card-top .priority {
  font-size: 11px !important;
  font-weight: 700 !important;
  padding: 3px 8px !important;
  border-radius: 6px !important;
  background: #f1f5f9 !important;
  color: #475569 !important;
  border: 1px solid #e2e8f0 !important;
  white-space: nowrap !important;
}
.portfolio-info {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 12px !important;
  padding: 14px 0 !important;
  font-size: 12px !important;
}
.portfolio-info span {
  font-size: 10.5px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  font-weight: 700 !important;
  color: #94a3b8 !important;
  margin-bottom: 2px !important;
}
.portfolio-info strong {
  font-size: 12.5px !important;
  font-weight: 600 !important;
  color: #1e293b !important;
}
.portfolio-card-foot {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding-top: 12px !important;
  border-top: 1px solid #f1f5f9 !important;
  gap: 8px !important;
}
.portfolio-card-foot .status {
  font-size: 11.5px !important;
  font-weight: 700 !important;
  color: #16a34a !important;
}
.portfolio-card-foot .status.inactive {
  color: #94a3b8 !important;
}
.portfolio-card-foot .action-row {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
}
.portfolio-card-foot .icon-button {
  font-size: 11.5px !important;
  font-weight: 600 !important;
  padding: 4px 10px !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 6px !important;
  background: #ffffff !important;
  color: #475569 !important;
  cursor: pointer !important;
  transition: all 0.15s ease !important;
}
.portfolio-card-foot .icon-button:hover {
  background: #f1f5f9 !important;
  border-color: #cbd5e1 !important;
  color: #0f172a !important;
}
.portfolio-card-foot .icon-button.danger {
  color: #dc2626 !important;
  border-color: #fee2e2 !important;
}
.portfolio-card-foot .icon-button.danger:hover {
  background: #fef2f2 !important;
  border-color: #fca5a5 !important;
}

/* === REDESIGN DE ROTAS E DETALHES DA ROTA === */

.route-overview, .route-summary-kpi {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)) !important;
  gap: 14px !important;
  background: transparent !important;
  border-radius: 0 !important;
  margin-bottom: 22px !important;
}
.route-overview > div, .route-summary-kpi > div {
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 12px !important;
  padding: 16px 20px !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}
.route-overview strong, .route-summary-kpi strong {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  font-size: 24px !important;
  font-weight: 800 !important;
  color: var(--green2) !important;
  line-height: 1.1 !important;
  letter-spacing: -0.02em !important;
  margin-top: 0 !important;
}
.route-overview span, .route-summary-kpi span {
  font-size: 11.5px !important;
  font-weight: 700 !important;
  color: #64748b !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  margin-top: 4px !important;
}

.route-workspace {
  display: grid !important;
  grid-template-columns: 1fr 340px !important;
  gap: 20px !important;
  align-items: start !important;
}

.add-stop {
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 12px !important;
  padding: 20px !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02) !important;
  margin-bottom: 16px !important;
}
.add-stop h2 {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #0f172a !important;
  margin: 4px 0 14px !important;
}
.add-stop label {
  display: flex !important;
  flex-direction: column !important;
  gap: 5px !important;
  font-size: 11.5px !important;
  font-weight: 700 !important;
  color: #475569 !important;
  margin: 12px 0 0 !important;
}
.add-stop input,
.add-stop select,
.add-stop textarea {
  border: 1px solid #cbd5e1 !important;
  border-radius: 8px !important;
  padding: 8px 12px !important;
  font-size: 13px !important;
  background: #f8fafc !important;
  color: #0f172a !important;
  margin-top: 0 !important;
  width: 100% !important;
  box-sizing: border-box !important;
  transition: all 0.15s ease !important;
}
.add-stop input:focus,
.add-stop select:focus,
.add-stop textarea:focus {
  border-color: var(--green2) !important;
  background: #ffffff !important;
  box-shadow: 0 0 0 3px rgba(20, 53, 47, 0.1) !important;
  outline: none !important;
}
.add-stop .button.primary {
  margin-top: 16px !important;
  height: 38px !important;
  border-radius: 8px !important;
  font-weight: 700 !important;
  width: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.empty-stops, .route-empty {
  padding: 36px 20px !important;
  background: #f8fafc !important;
  border: 2px dashed #cbd5e1 !important;
  border-radius: 12px !important;
  text-align: center !important;
  color: #64748b !important;
  font-size: 13px !important;
  font-weight: 500 !important;
}

/* === ESTILOS DOS CARDS DE PARADA E CHECK-IN === */

.stop-card {
  display: grid !important;
  grid-template-columns: 44px 1fr !important;
  gap: 16px !important;
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 14px !important;
  padding: 20px 22px !important;
  margin-bottom: 16px !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02) !important;
  transition: all 0.15s ease !important;
}
.stop-card:hover {
  border-color: #cbd5e1 !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.04) !important;
}
.stop-position {
  width: 36px !important;
  height: 36px !important;
  background: #f1f5f9 !important;
  border: 1px solid #cbd5e1 !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  color: #1e293b !important;
  flex: none !important;
}
.stop-content {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  min-width: 0 !important;
}
.stop-content h3 {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  color: #0f172a !important;
  margin: 0 !important;
  line-height: 1.25 !important;
}
.stop-content p {
  font-size: 12px !important;
  color: #64748b !important;
  margin: 2px 0 0 !important;
}
.stop-time {
  font-size: 11px !important;
  font-weight: 700 !important;
  color: var(--green2) !important;
  background: #f0fdf4 !important;
  border: 1px solid #bbf7d0 !important;
  padding: 2px 8px !important;
  border-radius: 6px !important;
  display: inline-block !important;
  margin-bottom: 4px !important;
}
.stop-location {
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
  font-size: 12px !important;
  background: #f8fafc !important;
  border: 1px solid #f1f5f9 !important;
  border-radius: 8px !important;
  padding: 10px 14px !important;
}
.stop-location strong {
  font-size: 13px !important;
  color: #1e293b !important;
}
.stop-location span {
  color: #64748b !important;
  font-weight: 600 !important;
}
.stop-location small {
  color: #94a3b8 !important;
  font-size: 11.5px !important;
}

/* BADGES DE STATUS E FREQUÊNCIA DA PARADA */
.stop-meta {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  align-items: center !important;
  margin: 4px 0 !important;
}
.stop-meta > span {
  display: inline-flex !important;
  align-items: center !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  padding: 3px 10px !important;
  border-radius: 6px !important;
  background: #f1f5f9 !important;
  color: #475569 !important;
  border: 1px solid #e2e8f0 !important;
  white-space: nowrap !important;
}
.stop-meta .stop-status.planned {
  background: #ecfdf5 !important;
  color: #065f46 !important;
  border-color: #a7f3d0 !important;
}
.stop-meta .stop-status.completed {
  background: #dcfce7 !important;
  color: #15803d !important;
  border-color: #86efac !important;
}
.stop-meta .stop-status.cancelled {
  background: #fef2f2 !important;
  color: #991b1b !important;
  border-color: #fecaca !important;
}

/* AÇÕES DE CHECK-IN E NAVEGAÇÃO */
.field-exec {
  margin-top: 8px !important;
  padding-top: 12px !important;
  border-top: 1px solid #f1f5f9 !important;
}
.field-exec-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  align-items: center !important;
  margin-top: 10px !important;
}
.field-exec-actions .icon-button,
.field-exec-actions a.icon-button {
  font-size: 12px !important;
  font-weight: 700 !important;
  padding: 6px 14px !important;
  border-radius: 7px !important;
  border: 1px solid #cbd5e1 !important;
  background: #ffffff !important;
  color: #334155 !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  cursor: pointer !important;
  transition: all 0.15s ease !important;
}
.field-exec-actions .icon-button:hover {
  background: #f1f5f9 !important;
  color: #0f172a !important;
}
.field-exec-actions .icon-button.primary-action {
  background: var(--green2) !important;
  color: #ffffff !important;
  border-color: var(--green2) !important;
}
.field-exec-actions .icon-button.primary-action:hover {
  background: var(--green) !important;
  border-color: var(--green) !important;
}

/* FEEDBACK E EXCEÇÃO DE CHECK-IN */
.geo-feedback.visible {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 10px 14px !important;
  border-radius: 8px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  margin-top: 10px !important;
  margin-bottom: 8px !important;
}
.geo-feedback.geo-error {
  background: #fffbeb !important;
  border: 1px solid #fde68a !important;
  color: #92400e !important;
}
.geo-feedback.geo-ok {
  background: #f0fdf4 !important;
  border: 1px solid #bbf7d0 !important;
  color: #166534 !important;
}

.geo-exception {
  background: #fffbeb !important;
  border: 1px solid #fde68a !important;
  border-radius: 10px !important;
  padding: 16px 18px !important;
  margin-top: 10px !important;
}
.geo-exception-head strong {
  display: block !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  color: #92400e !important;
}
.geo-exception-head p {
  font-size: 11.5px !important;
  color: #78350f !important;
  margin: 2px 0 10px !important;
}
.geo-exception label {
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
  font-size: 11.5px !important;
  font-weight: 700 !important;
  color: #92400e !important;
  margin-bottom: 8px !important;
}
.geo-exception select,
.geo-exception textarea {
  border: 1px solid #fcd34d !important;
  background: #ffffff !important;
  border-radius: 7px !important;
  padding: 8px 12px !important;
  font-size: 12.5px !important;
  color: #0f172a !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

/* === STOP CARD PREMIUM DESIGN === */
.stop-card {
  display: grid !important;
  grid-template-columns: 44px 1fr !important;
  gap: 16px !important;
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 14px !important;
  padding: 20px 24px !important;
  margin-bottom: 16px !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02) !important;
  transition: all 0.15s ease !important;
}
.stop-card:hover {
  border-color: #cbd5e1 !important;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.04) !important;
}
.stop-position {
  width: 36px !important;
  height: 36px !important;
  background: #f8fafc !important;
  border: 1px solid #cbd5e1 !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  color: #334155 !important;
  flex: none !important;
  margin-top: 4px !important;
}
.stop-content {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  min-width: 0 !important;
}
.stop-header-row {
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-start !important;
  gap: 12px !important;
}
.stop-doctor-info {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
}
.stop-doctor-info h3 {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  color: #0f172a !important;
  margin: 0 !important;
  line-height: 1.25 !important;
}
.stop-doctor-info p {
  font-size: 12px !important;
  color: #64748b !important;
  margin: 2px 0 0 !important;
}
.stop-header-badges {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}
.stop-time {
  font-size: 11.5px !important;
  font-weight: 700 !important;
  color: var(--green2) !important;
  background: #f0fdf4 !important;
  border: 1px solid #bbf7d0 !important;
  padding: 3px 8px !important;
  border-radius: 6px !important;
  white-space: nowrap !important;
}

.stop-location-bar {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  background: #f8fafc !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 8px !important;
  padding: 8px 14px !important;
  font-size: 12.5px !important;
  color: #334155 !important;
}
.stop-location-bar .loc-icon {
  font-size: 14px !important;
  flex: none !important;
}
.stop-location-bar strong {
  font-weight: 700 !important;
  color: #0f172a !important;
}
.stop-location-bar small {
  color: #64748b !important;
  font-size: 12px !important;
}

.stop-meta {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 8px !important;
}
.stop-note-pill {
  font-size: 11.5px !important;
  background: #f1f5f9 !important;
  color: #475569 !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 6px !important;
  padding: 3px 10px !important;
  font-weight: 500 !important;
}

/* EXEC BANNERS */
.exec-banner {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 10px 16px !important;
  border-radius: 8px !important;
  font-size: 12.5px !important;
  margin-bottom: 12px !important;
}
.exec-banner.in-progress {
  background: #ecfdf5 !important;
  border: 1px solid #a7f3d0 !important;
  color: #065f46 !important;
}
.exec-banner.completed {
  background: #f0fdf4 !important;
  border: 1px solid #bbf7d0 !important;
  color: #166534 !important;
}
.exec-dot {
  width: 8px !important;
  height: 8px !important;
  border-radius: 50% !important;
  background: #10b981 !important;
  animation: pulse 1.5s infinite !important;
}
@keyframes pulse {
  0% { transform: scale(0.95); opacity: 0.8; }
  50% { transform: scale(1.2); opacity: 1; }
  100% { transform: scale(0.95); opacity: 0.8; }
}

.field-exec-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 10px !important;
}
.field-exec-actions .button.action-btn {
  height: 38px !important;
  padding: 0 18px !important;
  border-radius: 8px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  cursor: pointer !important;
}
.field-exec-actions .button.checkout-btn {
  background: #b91c1c !important;
  color: #ffffff !important;
  border: none !important;
}
.field-exec-actions .button.checkout-btn:hover {
  background: #991b1b !important;
}

.visit-result-badge {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-size: 13px !important;
  color: #1e293b !important;
}

/* FOOTER MOVE & REMOVE */
.stop-actions-footer {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  padding-top: 10px !important;
  border-top: 1px solid #f1f5f9 !important;
  margin-top: 4px !important;
}
.move-actions {
  display: flex !important;
  gap: 12px !important;
}
.icon-link {
  background: none !important;
  border: none !important;
  color: #64748b !important;
  font-size: 11.5px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  padding: 2px 4px !important;
  transition: color 0.15s ease !important;
}
.icon-link:hover {
  color: #0f172a !important;
}
.icon-link:disabled {
  opacity: 0.3 !important;
  cursor: not-allowed !important;
}
.icon-link.danger {
  color: #dc2626 !important;
}
.icon-link.danger:hover {
  color: #991b1b !important;
}

/* === REDESIGN DE DETALHES DA VISITA === */
.profile-hero {
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 14px !important;
  padding: 24px 28px !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02) !important;
  display: flex !important;
  align-items: center !important;
  gap: 20px !important;
  margin-bottom: 22px !important;
}
.profile-hero .profile-monogram {
  width: 56px !important;
  height: 56px !important;
  border-radius: 12px !important;
  font-size: 20px !important;
  font-weight: 800 !important;
  background: #e2e8f0 !important;
  color: #334155 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: none !important;
}
.profile-hero h2 {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  font-size: 20px !important;
  font-weight: 800 !important;
  color: #0f172a !important;
  margin: 4px 0 2px !important;
}
.profile-hero p {
  font-size: 13px !important;
  color: #64748b !important;
  margin: 0 !important;
}
.profile-hero .status {
  font-size: 11px !important;
  font-weight: 700 !important;
  padding: 3px 10px !important;
  border-radius: 6px !important;
  display: inline-block !important;
}
.profile-hero .status.active {
  background: #dcfce7 !important;
  color: #15803d !important;
  border: 1px solid #86efac !important;
}

.detail-card {
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 12px !important;
  padding: 20px 24px !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02) !important;
}
.detail-card .eyebrow {
  font-size: 11px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  color: var(--green2) !important;
  margin-bottom: 12px !important;
  display: block !important;
}
.detail-card dl {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
}
.detail-card dl > div {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  padding-bottom: 8px !important;
  border-bottom: 1px solid #f1f5f9 !important;
}
.detail-card dl > div:last-child {
  border-bottom: none !important;
  padding-bottom: 0 !important;
}
.detail-card dt {
  font-size: 12.5px !important;
  font-weight: 600 !important;
  color: #64748b !important;
}
.detail-card dd {
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #0f172a !important;
  margin: 0 !important;
}

.badge.info {
  background: #eff6ff !important;
  color: #1d4ed8 !important;
  border: 1px solid #bfdbfe !important;
}
.badge.neutral {
  background: #f1f5f9 !important;
  color: #475569 !important;
  border: 1px solid #e2e8f0 !important;
}

/* === DETALHES DE VISITA COMPACTO E MODERNO === */
.compact-head {
  margin-bottom: 18px !important;
}
.visit-head-title {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  margin-top: 6px !important;
}
.visit-title-row {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
}
.visit-title-row h1 {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  font-size: 22px !important;
  font-weight: 800 !important;
  color: #0f172a !important;
  margin: 0 !important;
}
.status-pill {
  font-size: 11px !important;
  font-weight: 700 !important;
  padding: 3px 10px !important;
  border-radius: 6px !important;
}
.status-pill.active {
  background: #dcfce7 !important;
  color: #15803d !important;
  border: 1px solid #86efac !important;
}
.status-pill.inactive {
  background: #fee2e2 !important;
  color: #991b1b !important;
  border: 1px solid #fca5a5 !important;
}
.result-pill {
  font-size: 11px !important;
  font-weight: 700 !important;
  padding: 3px 10px !important;
  border-radius: 6px !important;
  background: #f1f5f9 !important;
  color: #334155 !important;
  border: 1px solid #e2e8f0 !important;
}

.visit-detail-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 16px !important;
}
.visit-detail-grid .span-2 {
  grid-column: span 2 !important;
}

.compact-dl {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  margin: 0 !important;
}
.compact-dl > div {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  padding-bottom: 8px !important;
  border-bottom: 1px solid #f8fafc !important;
}
.compact-dl > div:last-child {
  border-bottom: none !important;
  padding-bottom: 0 !important;
}
.compact-dl dt {
  font-size: 12.5px !important;
  color: #64748b !important;
  font-weight: 600 !important;
}
.compact-dl dd {
  font-size: 13px !important;
  color: #0f172a !important;
  font-weight: 700 !important;
  margin: 0 !important;
  text-align: right !important;
}

.notes-text {
  font-size: 13.5px !important;
  color: #334155 !important;
  line-height: 1.5 !important;
  margin: 0 !important;
  background: #f8fafc !important;
  padding: 12px 16px !important;
  border-radius: 8px !important;
  border: 1px solid #f1f5f9 !important;
}

/* AUDIT HIGHLIGHT */
.audit-highlight {
  background: #f8fafc !important;
  border: 1px solid #cbd5e1 !important;
  margin-bottom: 16px !important;
}
.audit-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 14px !important;
  margin-top: 8px !important;
}
.audit-label {
  display: block !important;
  font-size: 11px !important;
  color: #64748b !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  margin-bottom: 4px !important;
}
.confidence-tag {
  font-size: 12px !important;
  font-weight: 700 !important;
}

/* === TOOLTIP DE COMPROVAÇÃO === */
.has-tooltip {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  position: relative !important;
}
.info-tooltip {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  outline: none !important;
}
.tooltip-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 16px !important;
  height: 16px !important;
  border-radius: 50% !important;
  background: #e2e8f0 !important;
  color: #475569 !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  transition: all 0.15s ease !important;
}
.info-tooltip:hover .tooltip-icon,
.info-tooltip:focus .tooltip-icon {
  background: var(--green2) !important;
  color: #ffffff !important;
}

.tooltip-popup {
  position: absolute !important;
  bottom: calc(100% + 8px) !important;
  left: -10px !important;
  width: 290px !important;
  background: #0f172a !important;
  color: #f8fafc !important;
  padding: 12px 14px !important;
  border-radius: 10px !important;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.25) !important;
  font-size: 11.5px !important;
  line-height: 1.4 !important;
  z-index: 999 !important;
  pointer-events: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  transform: translateY(4px) !important;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
  text-align: left !important;
}
.tooltip-popup::after {
  content: "" !important;
  position: absolute !important;
  top: 100% !important;
  left: 14px !important;
  border: 6px solid transparent !important;
  border-top-color: #0f172a !important;
}
.info-tooltip:hover .tooltip-popup,
.info-tooltip:focus .tooltip-popup {
  opacity: 1 !important;
  visibility: visible !important;
  transform: translateY(0) !important;
}
.tooltip-title {
  display: block !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  color: #ffffff !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.15) !important;
  padding-bottom: 4px !important;
  margin-bottom: 2px !important;
}
.tooltip-item {
  display: block !important;
  color: #cbd5e1 !important;
  font-size: 11px !important;
}
.tooltip-item strong {
  color: #ffffff !important;
  font-weight: 700 !important;
}

/* === GEO ACTION BOX FORM STYLES === */
.geo-action-box {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  background: #f8fafc !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 10px !important;
  padding: 14px 18px !important;
  gap: 16px !important;
}
.geo-action-info {
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
}
.geo-action-title {
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #0f172a !important;
}
.geo-action-desc {
  font-size: 12px !important;
  color: #64748b !important;
}
.geo-action-desc strong {
  color: var(--green2) !important;
  font-weight: 700 !important;
}
.geo-action-box .button.small-btn {
  height: 34px !important;
  padding: 0 14px !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  border-radius: 7px !important;
  white-space: nowrap !important;
  flex: none !important;
}

/* === BADGES DE RESULTADO DA VISITA === */
.visit-title-row {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
}
.visit-head-title p {
  margin: 4px 0 0 0 !important;
  line-height: 1.5 !important;
  font-size: 12.5px !important;
  color: #64748b !important;
}
.result-pill {
  font-size: 11px !important;
  font-weight: 700 !important;
  padding: 3px 10px !important;
  border-radius: 6px !important;
  white-space: nowrap !important;
}
.result-pill.completed {
  background: #dcfce7 !important;
  color: #15803d !important;
  border: 1px solid #86efac !important;
}
.result-pill.rescheduled {
  background: #fef3c7 !important;
  color: #92400e !important;
  border: 1px solid #fde68a !important;
}
.result-pill.no_contact {
  background: #fee2e2 !important;
  color: #991b1b !important;
  border: 1px solid #fca5a5 !important;
}

/* === REDESIGN DE CARDS E BOTÕES DA AGENDA === */
.appointment-card {
  display: grid !important;
  grid-template-columns: 85px 1fr !important;
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 14px !important;
  margin-bottom: 14px !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02) !important;
  overflow: visible !important;
  transition: all 0.15s ease !important;
}
.appointment-card:hover {
  border-color: #cbd5e1 !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.04) !important;
}
.appointment-time {
  padding: 18px 12px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  background: #f8fafc !important;
  border-right: 1px solid #f1f5f9 !important;
  border-top-left-radius: 13px !important;
  border-bottom-left-radius: 13px !important;
}
.appointment-time strong {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  font-size: 19px !important;
  font-weight: 800 !important;
  color: #0f172a !important;
  line-height: 1 !important;
}
.appointment-time span {
  font-size: 11px !important;
  color: #64748b !important;
  margin-top: 4px !important;
  font-weight: 600 !important;
}
.appointment-time .time-date {
  font-size: 10.5px !important;
  color: var(--green2) !important;
  font-weight: 700 !important;
  margin-top: 4px !important;
}

.appointment-body {
  padding: 16px 20px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  min-width: 0 !important;
}
.appointment-heading {
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-start !important;
  gap: 12px !important;
}
.appointment-doctor-info {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
}
.appointment-doctor-info h2 {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #0f172a !important;
  margin: 0 !important;
  line-height: 1.25 !important;
}
.appointment-doctor-info p {
  font-size: 12px !important;
  color: #64748b !important;
  margin: 2px 0 0 !important;
}

.agenda-status-pill {
  font-size: 11px !important;
  font-weight: 700 !important;
  padding: 3px 10px !important;
  border-radius: 6px !important;
  white-space: nowrap !important;
}
.agenda-status-pill.status-scheduled {
  background: #f1f5f9 !important;
  color: #475569 !important;
  border: 1px solid #e2e8f0 !important;
}
.agenda-status-pill.status-confirmed {
  background: #dbeafe !important;
  color: #1e40af !important;
  border: 1px solid #bfdbfe !important;
}
.agenda-status-pill.status-completed {
  background: #dcfce7 !important;
  color: #15803d !important;
  border: 1px solid #86efac !important;
}
.agenda-status-pill.status-cancelled {
  background: #fee2e2 !important;
  color: #991b1b !important;
  border: 1px solid #fca5a5 !important;
}

.appointment-meta {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  align-items: center !important;
}
.meta-pill {
  font-size: 11px !important;
  font-weight: 600 !important;
  padding: 2px 8px !important;
  border-radius: 6px !important;
  background: #f1f5f9 !important;
  color: #475569 !important;
  border: 1px solid #e2e8f0 !important;
}
.meta-pill.warning {
  background: #fffbeb !important;
  color: #92400e !important;
  border-color: #fde68a !important;
}
.meta-pill.info {
  background: #eff6ff !important;
  color: #1d4ed8 !important;
  border-color: #bfdbfe !important;
}
.meta-pill.neutral {
  background: #f8fafc !important;
  color: #64748b !important;
  border-color: #e2e8f0 !important;
}

.appointment-objective {
  font-size: 12.5px !important;
  color: #334155 !important;
  background: #f8fafc !important;
  padding: 8px 12px !important;
  border-radius: 7px !important;
  border: 1px solid #f1f5f9 !important;
  font-weight: 500 !important;
}

.appointment-visit-result {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-size: 12.5px !important;
  color: #1e293b !important;
  background: #f0fdf4 !important;
  border: 1px solid #bbf7d0 !important;
  padding: 6px 12px !important;
  border-radius: 7px !important;
}

/* AÇÕES E BOTÕES COMPACTOS */
.appointment-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 8px !important;
  margin-top: 4px !important;
}
.appointment-actions .button.small-btn,
.appointment-actions a.button.small-btn {
  height: 32px !important;
  padding: 0 12px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  border-radius: 7px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  cursor: pointer !important;
  white-space: nowrap !important;
  box-sizing: border-box !important;
}
.appointment-actions form {
  margin: 0 !important;
  display: inline-flex !important;
}

/* CANCEL DROPDOWN */
.cancel-dropdown {
  position: relative !important;
  display: inline-block !important;
}
.cancel-dropdown summary {
  list-style: none !important;
  cursor: pointer !important;
}
.cancel-dropdown summary::-webkit-details-marker {
  display: none !important;
}
.button.danger-outline {
  background: #ffffff !important;
  border: 1px solid #fca5a5 !important;
  color: #dc2626 !important;
}
.button.danger-outline:hover {
  background: #fef2f2 !important;
}
.cancel-popover {
  position: absolute !important;
  bottom: calc(100% + 6px) !important;
  right: 0 !important;
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 10px !important;
  padding: 12px 14px !important;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15) !important;
  z-index: 100 !important;
  width: 250px !important;
}
.cancel-popover label {
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
  font-size: 11.5px !important;
  font-weight: 700 !important;
  color: #334155 !important;
  margin-bottom: 8px !important;
}
.cancel-popover input {
  height: 32px !important;
  padding: 0 8px !important;
  font-size: 12px !important;
  border: 1px solid #cbd5e1 !important;
  border-radius: 6px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
.button.danger {
  background: #dc2626 !important;
  color: #ffffff !important;
  border: none !important;
  width: 100% !important;
}

/* === GPS CAPTURE DETAILS === */
.geo-capture-row {
  background: #f8fafc !important;
  padding: 8px 10px !important;
  border-radius: 8px !important;
  border: 1px solid #f1f5f9 !important;
  margin-top: 4px !important;
}
.geo-point-action {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
}
.geo-coords {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, monospace !important;
  font-size: 11.5px !important;
  font-weight: 700 !important;
  color: #0f172a !important;
}
.map-btn {
  height: 24px !important;
  padding: 0 8px !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  background: #ffffff !important;
  border: 1px solid #cbd5e1 !important;
  color: #1e293b !important;
  text-decoration: none !important;
  border-radius: 6px !important;
}
.map-btn:hover {
  background: #f1f5f9 !important;
  border-color: #94a3b8 !important;
}

/* === REDESIGN COMPACTO DA LISTA DE VISITAS === */
.compact-visit-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(380px, 1fr)) !important;
  gap: 12px !important;
}
.compact-visit-card {
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 12px !important;
  padding: 12px 16px !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02) !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  transition: all 0.15s ease !important;
}
.compact-visit-card:hover {
  border-color: #cbd5e1 !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.04) !important;
}
.visit-card-top {
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-start !important;
  gap: 10px !important;
}
.visit-doctor-line {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  min-width: 0 !important;
}
.mini-avatar {
  width: 32px !important;
  height: 32px !important;
  min-width: 32px !important;
  font-size: 13px !important;
  border-radius: 50% !important;
}
.visit-doc-meta {
  min-width: 0 !important;
}
.visit-doc-meta a {
  text-decoration: none !important;
}
.visit-doc-meta h2 {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  font-size: 14.5px !important;
  font-weight: 700 !important;
  color: #0f172a !important;
  margin: 0 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  line-height: 1.25 !important;
}
.visit-doc-meta p {
  font-size: 11.5px !important;
  color: #64748b !important;
  margin: 2px 0 0 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
.visit-pill-row {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 5px !important;
  align-items: center !important;
}
.v-pill {
  font-size: 11px !important;
  font-weight: 600 !important;
  background: #f1f5f9 !important;
  color: #475569 !important;
  padding: 2px 7px !important;
  border-radius: 5px !important;
  border: 1px solid #e2e8f0 !important;
  white-space: nowrap !important;
}
.v-pill.success {
  background: #dcfce7 !important;
  color: #15803d !important;
  border-color: #86efac !important;
}
.v-pill.warning {
  background: #fffbeb !important;
  color: #92400e !important;
  border-color: #fde68a !important;
}
.v-pill.info {
  background: #eff6ff !important;
  color: #1d4ed8 !important;
  border-color: #bfdbfe !important;
}
.visit-subject-snippet {
  font-size: 12px !important;
  color: #334155 !important;
  background: #f8fafc !important;
  padding: 5px 8px !important;
  border-radius: 6px !important;
  margin: 0 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  border: 1px solid #f1f5f9 !important;
}
.visit-card-foot {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  border-top: 1px solid #f1f5f9 !important;
  padding-top: 8px !important;
  margin-top: 2px !important;
}
.status-indicator {
  font-size: 11px !important;
  font-weight: 700 !important;
}
.status-indicator.active {
  color: #16a34a !important;
}
.status-indicator.inactive {
  color: #dc2626 !important;
}

/* === TABELA CORPORATIVA DE ALTA DENSIDADE === */
.table-container {
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02) !important;
  margin-top: 14px !important;
}
.enterprise-table {
  width: 100% !important;
  border-collapse: collapse !important;
  font-size: 12.5px !important;
  text-align: left !important;
}
.enterprise-table thead th {
  background: #f8fafc !important;
  color: #475569 !important;
  font-weight: 700 !important;
  font-size: 11.5px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  padding: 10px 14px !important;
  border-bottom: 1px solid #e2e8f0 !important;
  white-space: nowrap !important;
}
.enterprise-table tbody tr {
  border-bottom: 1px solid #f1f5f9 !important;
  transition: background 0.1s ease !important;
}
.enterprise-table tbody tr:last-child {
  border-bottom: none !important;
}
.enterprise-table tbody tr:hover {
  background: #f8fafc !important;
}
.enterprise-table tbody tr.row-invalid {
  opacity: 0.55 !important;
  background: #fef2f2 !important;
}
.enterprise-table td {
  padding: 10px 14px !important;
  vertical-align: middle !important;
  color: #1e293b !important;
}
.table-doctor-cell {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}
.table-doctor-info {
  display: flex !important;
  flex-direction: column !important;
  line-height: 1.25 !important;
}
.table-title-link {
  color: #0f172a !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  font-size: 13px !important;
}
.table-title-link:hover {
  color: var(--green2) !important;
}
.table-subtitle {
  font-size: 11px !important;
  color: #64748b !important;
}
.table-main-text {
  font-size: 12px !important;
  color: #334155 !important;
  font-weight: 500 !important;
}
.table-subtext {
  font-size: 11.5px !important;
  color: #64748b !important;
}
.table-tag {
  font-size: 11px !important;
  font-weight: 600 !important;
  background: #f1f5f9 !important;
  color: #475569 !important;
  padding: 2px 7px !important;
  border-radius: 4px !important;
  border: 1px solid #e2e8f0 !important;
  white-space: nowrap !important;
}
.table-actions-cell {
  white-space: nowrap !important;
}
.align-right {
  text-align: right !important;
}
.table-btn {
  height: 26px !important;
  padding: 0 10px !important;
  font-size: 11.5px !important;
  font-weight: 600 !important;
  border-radius: 5px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-left: 4px !important;
}
.table-empty {
  text-align: center !important;
  padding: 40px 20px !important;
}

/* === BADGES CORPORATIVOS DE COMPROVAÇÃO E RESULTADO === */
.col-proof {
  min-width: 145px !important;
}
.col-result {
  min-width: 125px !important;
}
.col-doctor {
  min-width: 220px !important;
}
.col-date {
  min-width: 130px !important;
}
.col-location {
  min-width: 160px !important;
}
.col-duration {
  min-width: 75px !important;
}
.col-user {
  min-width: 120px !important;
}
.col-actions {
  min-width: 105px !important;
}

.proof-badge {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  font-size: 11.5px !important;
  font-weight: 600 !important;
  padding: 3px 8px !important;
  border-radius: 6px !important;
  white-space: nowrap !important;
  line-height: 1 !important;
}
.proof-badge.within {
  background: #dcfce7 !important;
  color: #15803d !important;
  border: 1px solid #bbf7d0 !important;
}
.proof-badge.within .badge-dot {
  color: #16a34a !important;
}

.proof-badge.outside {
  background: #fef3c7 !important;
  color: #92400e !important;
  border: 1px solid #fde68a !important;
}
.proof-badge.outside .badge-dot {
  color: #d97706 !important;
}

.proof-badge.route {
  background: #eff6ff !important;
  color: #1d4ed8 !important;
  border: 1px solid #bfdbfe !important;
}
.proof-badge.route .badge-dot {
  color: #2563eb !important;
}

.proof-badge.direct {
  background: #f1f5f9 !important;
  color: #475569 !important;
  border: 1px solid #e2e8f0 !important;
}
.proof-badge.direct .badge-dot {
  color: #64748b !important;
}

.result-badge {
  display: inline-flex !important;
  align-items: center !important;
  font-size: 11.5px !important;
  font-weight: 700 !important;
  padding: 3px 10px !important;
  border-radius: 6px !important;
  white-space: nowrap !important;
  line-height: 1 !important;
}
.result-badge.completed {
  background: #dcfce7 !important;
  color: #15803d !important;
  border: 1px solid #86efac !important;
}
.result-badge.rescheduled {
  background: #fef3c7 !important;
  color: #92400e !important;
  border: 1px solid #fde68a !important;
}
.result-badge.no_contact {
  background: #fee2e2 !important;
  color: #991b1b !important;
  border: 1px solid #fca5a5 !important;
}

/* === AGENDA OPERACIONAL STREAMLINED (ENTERPRISE) === */
.agenda-control-bar {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 10px !important;
  padding: 8px 14px !important;
  margin-top: 10px !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
}
.agenda-date-controls {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}
.date-stepper {
  display: inline-flex !important;
  align-items: center !important;
  border: 1px solid #cbd5e1 !important;
  border-radius: 6px !important;
  background: #f8fafc !important;
  overflow: hidden !important;
}
.btn-step {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 28px !important;
  height: 28px !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #334155 !important;
  text-decoration: none !important;
  background: #ffffff !important;
}
.btn-step:hover {
  background: #f1f5f9 !important;
}
.current-date-label {
  padding: 0 10px !important;
  font-size: 12.5px !important;
  font-weight: 700 !important;
  color: #0f172a !important;
  white-space: nowrap !important;
}
.mini-btn {
  height: 28px !important;
  padding: 0 10px !important;
  font-size: 11.5px !important;
  font-weight: 600 !important;
  border-radius: 6px !important;
}
.view-toggle-pills {
  display: inline-flex !important;
  border: 1px solid #cbd5e1 !important;
  border-radius: 6px !important;
  overflow: hidden !important;
  background: #f8fafc !important;
}
.pill-btn {
  padding: 4px 12px !important;
  font-size: 11.5px !important;
  font-weight: 600 !important;
  color: #475569 !important;
  text-decoration: none !important;
}
.pill-btn.active {
  background: var(--green2) !important;
  color: #ffffff !important;
}

.agenda-kpi-ribbon {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
}
.kpi-pill {
  font-size: 11.5px !important;
  color: #64748b !important;
  background: #f8fafc !important;
  padding: 3px 8px !important;
  border-radius: 5px !important;
  border: 1px solid #e2e8f0 !important;
}
.kpi-pill strong {
  color: #0f172a !important;
}
.kpi-pill.scheduled strong {
  color: #2563eb !important;
}
.kpi-pill.confirmed strong {
  color: #16a34a !important;
}
.kpi-pill.completed strong {
  color: var(--green2) !important;
}

/* MORE FILTERS DROPDOWN */
.more-filters-dropdown {
  position: relative !important;
  display: inline-block !important;
}
.more-filters-dropdown summary {
  list-style: none !important;
  cursor: pointer !important;
}
.more-filters-dropdown summary::-webkit-details-marker {
  display: none !important;
}
.more-filters-popover {
  position: absolute !important;
  top: calc(100% + 6px) !important;
  right: 0 !important;
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 10px !important;
  padding: 12px !important;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.12) !important;
  z-index: 100 !important;
  width: 240px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
}
.more-filters-popover label {
  display: flex !important;
  flex-direction: column !important;
  gap: 3px !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  color: #475569 !important;
}
.more-filters-popover select {
  height: 30px !important;
  font-size: 12px !important;
  border-radius: 5px !important;
}

/* TIMELINE LIST ROW */
.agenda-timeline-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  margin-top: 10px !important;
}
.agenda-row-card {
  display: grid !important;
  grid-template-columns: 80px 1fr auto !important;
  align-items: center !important;
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 10px !important;
  padding: 10px 14px !important;
  gap: 14px !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.02) !important;
  transition: border-color 0.15s ease !important;
}
.agenda-row-card:hover {
  border-color: #cbd5e1 !important;
  background: #fafbfc !important;
}
.row-time-cell {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  background: #f1f5f9 !important;
  border-radius: 7px !important;
  padding: 6px 4px !important;
  line-height: 1.15 !important;
}
.row-time-cell strong {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  color: #0f172a !important;
}
.row-time-cell span {
  font-size: 10.5px !important;
  color: #64748b !important;
  font-weight: 600 !important;
}
.row-time-cell .time-day {
  font-size: 9.5px !important;
  color: var(--green2) !important;
  font-weight: 700 !important;
  margin-top: 2px !important;
}

.row-main-cell {
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
  min-width: 0 !important;
}
.row-doctor-header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
}
.doctor-badge-line {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  min-width: 0 !important;
}
.doc-text {
  min-width: 0 !important;
}
.doc-name-link {
  text-decoration: none !important;
}
.doc-name-link h2 {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  font-size: 14.5px !important;
  font-weight: 700 !important;
  color: #0f172a !important;
  margin: 0 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  line-height: 1.2 !important;
}
.doc-name-link:hover h2 {
  color: var(--green2) !important;
}
.doc-sub {
  font-size: 11.5px !important;
  color: #64748b !important;
}

.status-pill-clean {
  font-size: 11px !important;
  font-weight: 700 !important;
  padding: 2px 8px !important;
  border-radius: 5px !important;
  white-space: nowrap !important;
}
.status-pill-clean.status-scheduled {
  background: #f1f5f9 !important;
  color: #475569 !important;
  border: 1px solid #e2e8f0 !important;
}
.status-pill-clean.status-confirmed {
  background: #dbeafe !important;
  color: #1e40af !important;
  border: 1px solid #bfdbfe !important;
}
.status-pill-clean.status-completed {
  background: #dcfce7 !important;
  color: #15803d !important;
  border: 1px solid #86efac !important;
}
.status-pill-clean.status-cancelled {
  background: #fee2e2 !important;
  color: #991b1b !important;
  border: 1px solid #fca5a5 !important;
}

.row-meta-strip {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 5px !important;
  align-items: center !important;
}
.sub-pill {
  font-size: 11px !important;
  color: #475569 !important;
  background: #f8fafc !important;
  padding: 1px 6px !important;
  border-radius: 4px !important;
  border: 1px solid #e2e8f0 !important;
}
.sub-pill.warning {
  background: #fffbeb !important;
  color: #92400e !important;
  border-color: #fde68a !important;
}
.sub-pill.info {
  background: #eff6ff !important;
  color: #1d4ed8 !important;
  border-color: #bfdbfe !important;
}

.row-objective-line {
  font-size: 11.5px !important;
  color: #334155 !important;
  margin: 0 !important;
  line-height: 1.3 !important;
}
.row-result-box {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-size: 11.5px !important;
  background: #f0fdf4 !important;
  border: 1px solid #bbf7d0 !important;
  padding: 3px 8px !important;
  border-radius: 5px !important;
}

.row-actions-cell {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  white-space: nowrap !important;
}

/* === DASHBOARD DE RELATÓRIOS E ANÁLISES (ENTERPRISE) === */
.report-kpi-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
  gap: 12px !important;
  margin-top: 12px !important;
}
.kpi-card {
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 12px !important;
  padding: 16px 18px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02) !important;
}
.kpi-card.highlight-kpi {
  background: #f8fafc !important;
  border-color: #cbd5e1 !important;
}
.kpi-title {
  font-size: 11.5px !important;
  font-weight: 700 !important;
  color: #64748b !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
}
.kpi-num {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  font-size: 26px !important;
  font-weight: 800 !important;
  color: #0f172a !important;
  line-height: 1.1 !important;
}
.kpi-foot {
  font-size: 11.5px !important;
  color: #64748b !important;
  margin-top: 2px !important;
}
.kpi-progress-bar {
  width: 100% !important;
  height: 6px !important;
  background: #e2e8f0 !important;
  border-radius: 3px !important;
  overflow: hidden !important;
  margin: 6px 0 2px !important;
}
.kpi-progress-fill {
  height: 100% !important;
  background: var(--green2) !important;
  border-radius: 3px !important;
}

.dashboard-section-head {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  margin: 20px 0 10px !important;
}
.dashboard-section-head h2 {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  color: #0f172a !important;
  margin: 0 !important;
}
.section-count {
  font-size: 12px !important;
  color: #64748b !important;
  font-weight: 600 !important;
}

.analytics-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 14px !important;
}
.analytics-grid .span-2 {
  grid-column: span 2 !important;
}

.analytics-card {
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 12px !important;
  padding: 16px 20px !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02) !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
}
.analytics-card-header {
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
  border-bottom: 1px solid #f1f5f9 !important;
  padding-bottom: 10px !important;
}
.card-tag {
  font-size: 10.5px !important;
  font-weight: 700 !important;
  color: var(--green2) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
}
.analytics-card-header h3 {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #0f172a !important;
  margin: 0 !important;
}

.analytics-bar-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
}
.analytics-bar-item {
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
}
.bar-info-row {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  font-size: 12px !important;
}
.bar-label {
  color: #334155 !important;
  font-weight: 600 !important;
}
.bar-values {
  display: flex !important;
  align-items: center !important;
  gap: 4px !important;
}
.bar-values strong {
  color: #0f172a !important;
  font-weight: 700 !important;
}
.bar-pct {
  color: #64748b !important;
  font-size: 11px !important;
}

.modern-progress-track {
  width: 100% !important;
  height: 8px !important;
  background: #f1f5f9 !important;
  border-radius: 4px !important;
  overflow: hidden !important;
}
.modern-progress-fill {
  height: 100% !important;
  border-radius: 4px !important;
  transition: width 0.3s ease !important;
}
.modern-progress-fill.result-completed {
  background: #10b981 !important;
}
.modern-progress-fill.result-rescheduled {
  background: #f59e0b !important;
}
.modern-progress-fill.result-no_contact {
  background: #f43f5e !important;
}
.modern-progress-fill.status-completed {
  background: #10b981 !important;
}
.modern-progress-fill.status-scheduled {
  background: #3b82f6 !important;
}
.modern-progress-fill.status-confirmed {
  background: #0ea5e9 !important;
}
.modern-progress-fill.status-cancelled {
  background: #94a3b8 !important;
}
.modern-progress-fill.modality-fill {
  background: #059669 !important;
}
.modern-progress-fill.specialty-fill {
  background: #14b8a6 !important;
}
.modern-progress-fill.team-fill {
  background: #0284c7 !important;
}

.analytics-empty {
  font-size: 12px !important;
  color: #94a3b8 !important;
  font-style: italic !important;
  margin: 10px 0 !important;
}

/* === CARTEIRA DE MÉDICOS (ENTERPRISE) === */
.priority-pill {
  display: inline-flex !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  padding: 2px 7px !important;
  border-radius: 4px !important;
  white-space: nowrap !important;
}
.priority-pill.high {
  background: #fee2e2 !important;
  color: #991b1b !important;
  border: 1px solid #fca5a5 !important;
}
.priority-pill.medium {
  background: #fef3c7 !important;
  color: #92400e !important;
  border: 1px solid #fde68a !important;
}
.priority-pill.low, .priority-pill.standard {
  background: #f1f5f9 !important;
  color: #475569 !important;
  border: 1px solid #e2e8f0 !important;
}

.frequency-status-tag {
  font-size: 11px !important;
  font-weight: 600 !important;
  padding: 2px 6px !important;
  border-radius: 4px !important;
  white-space: nowrap !important;
}
.frequency-status-tag.ok {
  background: #dcfce7 !important;
  color: #166534 !important;
}
.frequency-status-tag.warning {
  background: #fef3c7 !important;
  color: #92400e !important;
}
.frequency-status-tag.late {
  background: #fee2e2 !important;
  color: #991b1b !important;
}
.frequency-status-tag.no_history {
  background: #f1f5f9 !important;
  color: #64748b !important;
}

.empty-actions {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  margin-top: 12px !important;
}
.danger-text {
  color: #dc2626 !important;
}
.danger-text:hover {
  background: #fef2f2 !important;
  border-color: #fca5a5 !important;
}

/* === ALINHAMENTO HORIZONTAL PERFEITO DAS AÇÕES === */
.table-actions-cell {
  white-space: nowrap !important;
  text-align: right !important;
  min-width: 190px !important;
}
.actions-button-group {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 4px !important;
  flex-wrap: nowrap !important;
}
.inline-action-form {
  display: inline-flex !important;
  margin: 0 !important;
  padding: 0 !important;
}
.table-btn {
  height: 26px !important;
  padding: 0 9px !important;
  font-size: 11.5px !important;
  font-weight: 600 !important;
  border-radius: 5px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  white-space: nowrap !important;
}
.table-btn.danger-text {
  color: #dc2626 !important;
  border-color: #fecaca !important;
}
.table-btn.danger-text:hover {
  background: #fef2f2 !important;
  border-color: #f87171 !important;
}

/* === CENTRALIZAR COLUNA DE AÇÕES === */
.align-center {
  text-align: center !important;
}
.col-actions {
  text-align: center !important;
  min-width: 200px !important;
}
.table-actions-cell {
  text-align: center !important;
  white-space: nowrap !important;
}
.actions-button-group {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 4px !important;
  flex-wrap: nowrap !important;
  margin: 0 auto !important;
}

/* === PADRONIZAÇÃO GLOBAL DE AÇÕES CENTRALIZADAS EM TODAS AS TABELAS === */
th.actions, th.col-actions, .table-wrap th.actions, .table-card th.actions {
  text-align: center !important;
  min-width: 180px !important;
}
td.actions, td.table-actions-cell, .table-wrap td.actions, .table-card td.actions {
  text-align: center !important;
  white-space: nowrap !important;
}
.action-row, .actions-button-group {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 4px !important;
  flex-wrap: nowrap !important;
  margin: 0 auto !important;
}
.action-row form, .actions-button-group form {
  display: inline-flex !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* === SELETOR DE MÉDICOS MODERNIZADO (CLÍNICA) === */
.doctor-picker {
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 12px !important;
  padding: 16px !important;
  margin-top: 6px !important;
}
.doctor-search-wrap {
  position: relative !important;
}
.doctor-search {
  width: 100% !important;
  height: 42px !important;
  padding: 0 14px !important;
  font-size: 13px !important;
  border: 1px solid #cbd5e1 !important;
  border-radius: 8px !important;
  background: #f8fafc !important;
}
.doctor-search:focus {
  background: #ffffff !important;
  border-color: var(--green2) !important;
  box-shadow: 0 0 0 3px rgba(21, 61, 56, 0.1) !important;
}
.doctor-suggestions {
  position: absolute !important;
  top: calc(100% + 4px) !important;
  left: 0 !important;
  right: 0 !important;
  background: #ffffff !important;
  border: 1px solid #cbd5e1 !important;
  border-radius: 10px !important;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.15) !important;
  max-height: 280px !important;
  overflow-y: auto !important;
  z-index: 100 !important;
}
.doctor-suggestion {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 10px 14px !important;
  border-bottom: 1px solid #f1f5f9 !important;
  cursor: pointer !important;
  transition: background 0.1s ease !important;
}
.doctor-suggestion:last-child {
  border-bottom: none !important;
}
.doctor-suggestion:hover {
  background: #f0fdf4 !important;
}
.doctor-suggestion strong {
  font-size: 13px !important;
  color: #0f172a !important;
  display: block !important;
}
.doctor-suggestion small {
  font-size: 11px !important;
  color: #64748b !important;
  display: block !important;
  margin-top: 2px !important;
}
.btn-add-doc {
  font-size: 11.5px !important;
  font-weight: 700 !important;
  color: var(--green2) !important;
  background: #e6f4ea !important;
  padding: 4px 8px !important;
  border-radius: 6px !important;
}
.doctor-selected {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin-top: 12px !important;
  min-height: 32px !important;
}
.doctor-chip {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  background: #f1f5f9 !important;
  border: 1px solid #cbd5e1 !important;
  border-radius: 8px !important;
  padding: 6px 12px !important;
  font-size: 12px !important;
  color: #0f172a !important;
}
.doctor-chip strong {
  font-weight: 700 !important;
}
.doctor-chip small {
  color: #64748b !important;
}
.doctor-chip-remove {
  background: transparent !important;
  border: none !important;
  color: #94a3b8 !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  padding: 0 2px !important;
  line-height: 1 !important;
}
.doctor-chip-remove:hover {
  color: #dc2626 !important;
}
.doctor-count {
  font-size: 12px !important;
  color: #64748b !important;
  margin-top: 10px !important;
  font-weight: 500 !important;
}

/* Ocultar mapa vazio */
.geo-map:empty {
  display: none !important;
}
