:root{--navy:#102443;--navy2:#173b6d;--ink:#14253a;--muted:#607188;--line:#e1e9f3;--bg:#f4f7fb;--white:#fff;--blue:#1967d2;--blue-light:#ebf2ff;--previous:#c8d8f4;--success:#087443;--success-bg:#e9f8ef;--orange:#c96a13;--orange-bg:#fff2e5;--danger:#b42318;--danger-bg:#ffebe9;--warning:#955700;--warning-bg:#fff5df;--shadow:0 20px 48px rgba(16,36,67,.08)}
*{box-sizing:border-box}html{font-size:15px}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--bg)}
.shell{min-height:100vh;display:grid;grid-template-columns:275px 1fr}.sidebar{background:linear-gradient(165deg,var(--navy),var(--navy2));color:#fff;padding:35px 25px;position:sticky;top:0;height:100vh}
.brand{font-weight:700;font-size:21px;line-height:1.35}.brand small{display:block;font-size:13px;font-weight:400;opacity:.72;margin-top:12px}.env{display:inline-flex;margin-top:38px;border:1px solid rgba(255,255,255,.2);border-radius:999px;padding:8px 12px;font-weight:700;font-size:11px;letter-spacing:.08em}
.menu{margin-top:40px}.menu a{display:block;color:rgba(255,255,255,.82);text-decoration:none;padding:13px 14px;border-radius:12px;margin-bottom:7px;font-size:14px}.menu a.active{background:rgba(255,255,255,.15);color:#fff;font-weight:700}.menu a.locked{opacity:.46;cursor:not-allowed}.side-caption{font-size:12px;line-height:1.65;color:rgba(255,255,255,.63);position:absolute;bottom:26px;left:25px;right:25px}
.content{padding:34px;min-width:0}.top{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.top h1{margin:3px 0 7px;font-size:29px;color:var(--navy)}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.13em;color:var(--blue)}.sub{font-size:13px;color:var(--muted)}.user{font-size:13px;color:var(--muted);display:flex;align-items:center;gap:14px}
.button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:12px;padding:12px 17px;font-size:14px;font-weight:700;cursor:pointer;background:var(--blue);color:#fff;text-decoration:none}.button.ghost{background:#fff;color:var(--navy);border:1px solid var(--line)}
.notice{border-radius:14px;padding:14px 17px;font-size:13px;line-height:1.55;margin-bottom:19px}.notice.demo{background:#eef5ff;color:#21539a;border:1px solid #d1e1fb}.notice.success{background:var(--success-bg);color:var(--success)}
.stats{display:grid;grid-template-columns:repeat(4,minmax(175px,1fr));gap:15px;margin-bottom:18px}.card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:23px;box-shadow:var(--shadow)}.stat{min-height:128px}.stat label{display:block;font-size:11px;font-weight:700;color:var(--muted);margin-bottom:21px;letter-spacing:.05em}.stat strong{display:block;font-size:27px;color:var(--navy);margin-bottom:8px}.stat small{color:var(--muted);font-size:12px}.stat.blue{background:linear-gradient(180deg,#fff,#f5f9ff)}.stat.orange{background:linear-gradient(180deg,#fff,#fff9f4)}.stat.green{background:linear-gradient(180deg,#fff,#f4fcf8)}.stat.red{background:linear-gradient(180deg,#fff,#fff6f5)}
.dashboard-grid{display:grid;grid-template-columns:minmax(550px,1fr) 350px;gap:18px}.chart-card{padding:24px 24px 19px}.section-header{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:15px}.section-header h2{font-size:17px;color:var(--navy);margin:0 0 6px}.section-header p{font-size:12px;color:var(--muted);margin:0}.legend{display:flex;gap:13px;color:var(--muted);font-size:12px;white-space:nowrap}.legend span{display:flex;align-items:center;gap:5px}.dot{height:10px;width:10px;border-radius:50%;display:inline-block}.dot.current{background:var(--blue)}.dot.previous{background:var(--previous)}
.comparison{background:#f7f9fd;border-radius:12px;padding:12px 14px;font-size:13px;color:var(--muted);margin-bottom:17px}.comparison strong.positive{color:var(--success)}.comparison strong.negative{color:var(--danger)}
.revenue-chart{height:300px;display:flex;align-items:stretch;gap:10px;padding:10px 2px 0}.month-group{flex:1;min-width:58px;display:flex;flex-direction:column;justify-content:flex-end;text-align:center}.bar-label{font-size:11px;color:var(--muted);height:30px;display:flex;align-items:end;justify-content:center;margin-bottom:5px}.bar-area{height:215px;display:flex;align-items:flex-end;justify-content:center;gap:6px}.bar{width:min(31px,42%);border:0;border-radius:7px 7px 3px 3px;cursor:pointer;transition:transform .14s,filter .14s;min-height:4px;position:relative}.bar:hover,.bar:focus{transform:translateY(-3px);filter:brightness(.95);outline:2px solid rgba(25,103,210,.23)}.bar.current{background:var(--blue)}.bar.previous{background:var(--previous)}.month-name{font-size:12px;color:var(--muted);padding-top:9px;text-transform:capitalize}
.side-panel{padding:24px}.closing-list{margin-top:19px;border:1px solid var(--line);border-radius:14px;overflow:hidden}.closing-row{display:flex;justify-content:space-between;align-items:center;padding:15px 14px;border-bottom:1px solid var(--line)}.closing-row:last-child{border-bottom:0}.closing-row strong{display:block;font-size:14px}.closing-row small{display:block;color:var(--muted);font-size:12px;margin-top:5px}.pill{font-weight:700;font-size:11px;border-radius:999px;padding:6px 9px}.pill.ok{color:var(--success);background:var(--success-bg)}.pill.pending{color:var(--warning);background:var(--warning-bg)}.priority{background:#fff8eb;border:1px solid #f4dfbc;border-radius:14px;padding:15px;margin-top:18px;color:var(--warning)}.priority strong{font-size:13px}.priority p{font-size:12px;line-height:1.6;margin:8px 0 0}
.modal-backdrop{display:none;position:fixed;inset:0;background:rgba(14,27,47,.55);z-index:50;align-items:center;justify-content:center;padding:24px}.modal-backdrop.open{display:flex}.modal-card{width:min(1120px,100%);max-height:92vh;overflow:auto;background:#fff;border-radius:25px;padding:28px;box-shadow:0 30px 80px rgba(0,0,0,.2)}.modal-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.modal-head h2{color:var(--navy);font-size:25px;margin:5px 0 0}.close-button{border:1px solid var(--line);background:#fff;width:40px;height:40px;border-radius:12px;font-size:26px;cursor:pointer;color:var(--muted)}.modal-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:21px}.modal-kpi{border:1px solid var(--line);border-radius:15px;padding:14px}.modal-kpi label{display:block;color:var(--muted);font-size:11px;font-weight:700;margin-bottom:10px}.modal-kpi strong{font-size:20px;color:var(--navy)}.detail-section{border:1px solid var(--line);border-radius:17px;padding:17px;margin-bottom:16px}.detail-section h3{font-size:15px;color:var(--navy);margin:0 0 11px}.sort-description{font-size:12px;color:var(--muted);margin:0 0 11px}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px}table{width:100%;border-collapse:collapse;font-size:13px}th{background:#f8faff;padding:12px 11px;text-align:left;color:var(--muted);font-size:11px;text-transform:uppercase;white-space:nowrap;cursor:pointer;user-select:none}th.active{color:var(--blue);background:#eef5ff}td{border-top:1px solid var(--line);padding:12px 11px}td.value{font-weight:700;white-space:nowrap}.status{display:inline-block;border-radius:999px;padding:5px 8px;font-size:11px;font-weight:700;background:#eef5ff;color:#245aa2}.status.emitted{background:var(--success-bg);color:var(--success)}.status.attention{background:var(--warning-bg);color:var(--warning)}.detail-columns{display:grid;grid-template-columns:1fr 1fr;gap:16px}.row-item{display:flex;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px solid var(--line);font-size:13px}.row-item:last-child{border-bottom:0}.row-item small{display:block;color:var(--muted);margin-top:4px}
@media(max-width:1100px){.stats{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}}@media(max-width:780px){.shell{grid-template-columns:1fr}.sidebar{height:auto;position:static;padding:22px}.env{margin-top:18px}.menu{margin-top:18px;display:flex;overflow:auto}.menu a{white-space:nowrap}.side-caption{display:none}.content{padding:18px}.top{align-items:flex-start;flex-direction:column;gap:15px}.stats,.modal-kpis,.detail-columns{grid-template-columns:1fr}.revenue-chart{overflow:auto;min-width:650px}.chart-card{overflow:hidden}.modal-card{padding:19px}}

/* Correção 0.3.1: modal oculto até interação */
.modal-backdrop:not(.open){display:none !important}


/* Etapa 0.4 — Recebimentos */
.page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:26px}
.page-header h1{margin:5px 0 7px;color:var(--navy);font-size:29px}
.receipt-stats{display:grid;grid-template-columns:repeat(4,minmax(170px,1fr));gap:14px;margin-bottom:22px}
.receipt-stat{padding:21px;min-height:120px}
.receipt-stat label{display:block;font-size:11px;color:var(--muted);font-weight:700;letter-spacing:.05em;margin-bottom:20px}
.receipt-stat strong{display:block;font-size:25px;color:var(--navy);margin-bottom:6px}
.receipt-stat small{font-size:12px;color:var(--muted)}
.receipt-stat.blue{background:var(--blue-light)}
.receipt-stat.green{background:var(--success-bg)}
.receipt-stat.orange{background:var(--orange-bg)}
.receipt-stat.red{background:var(--danger-bg)}
.receipt-panel{padding:25px}
.panel-head{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-bottom:18px}
.panel-head h2{margin:0 0 6px;font-size:18px;color:var(--navy)}
.panel-head p{margin:0;font-size:13px;color:var(--muted)}
.filters{display:flex;gap:10px;flex-wrap:wrap;padding:15px;border:1px solid var(--line);background:#f8faff;border-radius:16px;margin-bottom:15px}
.filters input,.filters select{border:1px solid var(--line);background:#fff;border-radius:11px;padding:12px 13px;font-size:14px;color:var(--ink)}
.filters input{flex:1;min-width:245px}
.filters select{min-width:180px}
.filters .button{padding:12px 15px}
.table-caption{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:4px 0 13px;color:var(--muted);font-size:13px}
.operational-table{border:1px solid var(--line);border-radius:15px;overflow:auto;background:#fff}
.operational-table table{min-width:920px}
.operational-table th{cursor:auto}
.operational-table th a{display:flex;align-items:center;gap:6px;color:inherit;text-decoration:none}
.operational-table th.sortable{cursor:pointer}
.operational-table th.sortable:hover,.operational-table th.active{color:var(--blue);background:#eef5ff}
.sort-arrow{font-size:13px;font-weight:700}
.identification strong{display:block;font-size:13px;color:var(--ink);margin-bottom:4px}
.identification small{color:var(--muted)}
.tag{display:inline-flex;border-radius:999px;padding:5px 9px;font-weight:700;font-size:11px;white-space:nowrap;background:#eef5ff;color:#245aa2}
.tag.emitted{background:var(--success-bg);color:var(--success)}
.tag.attention{background:var(--warning-bg);color:var(--warning)}
.tag.neutral{background:#edf1f6;color:var(--muted)}
.money{font-weight:700;white-space:nowrap}
.table-action{display:inline-flex;text-decoration:none;padding:8px 10px;border-radius:9px;border:1px solid var(--line);font-size:12px;font-weight:700;color:var(--blue);white-space:nowrap;background:#fff}
.table-action:hover{background:#eef5ff}
.empty-row{text-align:center;color:var(--muted);padding:34px !important}
.pagination{display:flex;justify-content:space-between;align-items:center;gap:14px;color:var(--muted);font-size:13px;margin-top:16px}
.pagination-links{display:flex;align-items:center;gap:8px}
.pagination .button{padding:9px 12px;font-size:12px}
.pagination .disabled{opacity:.45;pointer-events:none}
.receipt-preview{margin-bottom:21px;border:1px solid #cbdcff;background:#f3f7ff;border-radius:18px;padding:19px 21px}
.receipt-preview-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px}
.receipt-preview h2{margin:4px 0 0;font-size:18px;color:var(--navy)}
.receipt-preview-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.receipt-preview-grid div{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px}
.receipt-preview-grid label{display:block;font-size:10px;color:var(--muted);font-weight:700;margin-bottom:8px}
.receipt-preview-grid strong{font-size:13px;color:var(--ink)}
@media(max-width:1100px){.receipt-stats{grid-template-columns:repeat(2,1fr)}.receipt-preview-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:780px){.page-header{flex-direction:column}.receipt-stats,.receipt-preview-grid{grid-template-columns:1fr}.filters input,.filters select{width:100%;min-width:0}.table-caption,.pagination{align-items:flex-start;flex-direction:column}}


/* Etapa 0.5 — Recibos e Receita Saúde */
.fiscal-intro{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;border:1px solid #cadeff;background:#f3f7ff;border-radius:18px;padding:20px 22px;margin-bottom:20px}
.fiscal-intro h2{margin:4px 0 7px;font-size:18px;color:var(--navy)}
.fiscal-intro p{margin:0;color:var(--muted);font-size:13px;line-height:1.6;max-width:760px}
.warning-banner{border:1px solid #efcf97;background:var(--warning-bg);color:var(--warning);border-radius:15px;padding:14px 17px;font-size:13px;line-height:1.55;margin-bottom:20px}
.inline-actions{display:flex;gap:8px;flex-wrap:wrap}
.receipt-list-panel{padding:25px}
.masked{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;color:var(--muted);font-size:12px}
.action-button{border:1px solid var(--line);background:#fff;color:var(--blue);border-radius:9px;padding:8px 10px;font-size:12px;font-weight:700;cursor:pointer;text-decoration:none;display:inline-flex;white-space:nowrap}
.action-button:hover{background:#eef5ff}
.action-button.primary{background:var(--blue);color:#fff;border-color:var(--blue)}
.action-button.success{background:var(--success);color:#fff;border-color:var(--success)}
.action-button:disabled{opacity:.48;cursor:not-allowed}
.action-form{display:inline-flex}
.detail-card{margin-bottom:21px;padding:22px;border:1px solid #cbdcff;background:#f3f7ff;border-radius:18px}
.detail-card .detail-title{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:15px}
.detail-card h2{margin:4px 0 0;font-size:18px;color:var(--navy)}
.detail-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:11px}
.detail-grid div{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px}
.detail-grid label{display:block;color:var(--muted);font-size:10px;font-weight:700;margin-bottom:8px}
.detail-grid strong{font-size:13px}
.rs-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:17px}
.rs-panel{padding:24px}
.rs-panel h2{margin:0 0 6px;font-size:18px;color:var(--navy)}
.rs-panel .helper{margin:0 0 19px;color:var(--muted);font-size:13px;line-height:1.55}
.checkbox-table input[type=checkbox]{width:16px;height:16px}
.csv-note{margin-top:15px;border-radius:13px;padding:13px 14px;background:var(--warning-bg);color:var(--warning);font-size:12px;line-height:1.55}
.batch{border:1px solid var(--line);border-radius:14px;padding:15px;margin-bottom:10px;background:#fff}
.batch-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px}
.batch strong{font-size:13px;color:var(--ink)}
.batch small{display:block;font-size:12px;color:var(--muted);line-height:1.55}
.batch .batch-status{display:inline-flex;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:700;background:var(--blue-light);color:var(--blue)}
.batch .batch-status.done{background:var(--success-bg);color:var(--success)}
.empty-box{border:1px dashed var(--line);padding:28px 18px;border-radius:14px;text-align:center;color:var(--muted);font-size:13px;line-height:1.55}
.export-checklist{margin:0 0 18px;padding:0;list-style:none}
.export-checklist li{display:flex;gap:9px;align-items:flex-start;color:var(--muted);font-size:13px;line-height:1.5;padding:6px 0}
.export-checklist li::before{content:"✓";font-weight:700;color:var(--success)}
@media(max-width:1160px){.rs-grid{grid-template-columns:1fr}.detail-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:780px){.fiscal-intro{flex-direction:column}.detail-grid{grid-template-columns:1fr}}


/* Etapa 0.6 — Sincronização de extratos */
.import-hero{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;border:1px solid #cadeff;background:#f3f7ff;border-radius:19px;padding:21px 23px;margin-bottom:19px}
.import-hero h2{margin:4px 0 7px;font-size:19px;color:var(--navy)}
.import-hero p{margin:0;max-width:710px;font-size:13px;line-height:1.6;color:var(--muted)}
.import-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:17px;margin-bottom:18px}
.import-card{padding:24px}
.import-card h2{font-size:18px;margin:0 0 7px;color:var(--navy)}
.import-card .helper{font-size:13px;color:var(--muted);line-height:1.55;margin:0 0 19px}
.upload-form .field{margin-bottom:15px}
.upload-form label{display:block;color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.04em;margin-bottom:7px}
.upload-form select,.upload-form input[type=file]{display:block;width:100%;border:1px solid var(--line);border-radius:12px;padding:12px 13px;background:#fff;color:var(--ink);font-size:14px}
.file-note{padding:13px 14px;border-radius:12px;background:#f7f9fd;border:1px solid var(--line);font-size:12px;color:var(--muted);line-height:1.6;margin-bottom:16px}
.summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:15px 0 18px}
.summary-grid div{border:1px solid var(--line);border-radius:12px;padding:12px;background:#fff}
.summary-grid label{display:block;font-size:10px;font-weight:700;color:var(--muted);margin-bottom:7px}
.summary-grid strong{font-size:18px;color:var(--navy)}
.preview-table{border:1px solid var(--line);border-radius:14px;overflow:auto;background:#fff}
.preview-table table{min-width:700px}
.comparison-new{background:var(--success-bg);color:var(--success)}
.comparison-existing{background:#eef3f8;color:var(--muted)}
.preview-status{display:inline-flex;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:700;white-space:nowrap}
.import-actions{display:flex;gap:10px;margin-top:17px;flex-wrap:wrap}
.history-list{display:flex;flex-direction:column;gap:10px}
.history-item{border:1px solid var(--line);border-radius:13px;padding:13px 14px;background:#fff}
.history-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:6px}
.history-head strong{font-size:13px}
.history-item small{display:block;color:var(--muted);line-height:1.55;font-size:12px}
.demo-file{display:block;margin-top:17px;border-radius:13px;background:var(--warning-bg);color:var(--warning);padding:13px 14px;font-size:12px;line-height:1.55}
.demo-file a{color:inherit;font-weight:700}
.process-note{margin:16px 0 0;padding-left:19px;color:var(--muted);font-size:13px;line-height:1.65}
@media(max-width:1100px){.import-layout{grid-template-columns:1fr}.summary-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.import-hero{flex-direction:column}.summary-grid{grid-template-columns:1fr}}


/* DEMO Web 1.0 RC1 — operação completa */
.operation-grid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:14px;margin-bottom:22px}
.operation-card{padding:19px;min-height:112px}
.operation-card label{display:block;color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.05em;margin-bottom:18px}
.operation-card strong{font-size:24px;color:var(--navy);display:block;margin-bottom:5px}
.operation-card small{font-size:12px;color:var(--muted)}
.operation-card.soft-blue{background:#edf4ff}.operation-card.soft-orange{background:#fff4df}.operation-card.soft-green{background:#e9f8ef}.operation-card.soft-red{background:#ffebe9}
.page-panel{padding:25px}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(180px,1fr));gap:12px;margin-top:16px}
.form-grid .wide{grid-column:1/-1}
.form-grid label{display:block;color:var(--muted);font-size:11px;font-weight:700;margin:0 0 7px}
.form-grid input,.form-grid select{width:100%;padding:12px;border:1px solid var(--line);border-radius:11px;background:#fff;font-size:14px;color:var(--ink)}
.review-box{border:1px solid #cbdcff;background:#f3f7ff;padding:20px;border-radius:18px;margin-bottom:18px}
.review-head{display:flex;justify-content:space-between;gap:15px;align-items:flex-start}
.review-head h2{margin:4px 0 5px;color:var(--navy);font-size:18px}
.review-head p{margin:0;font-size:13px;color:var(--muted)}
.review-note{margin-top:13px;font-size:12px;color:var(--muted);line-height:1.55}
.queue-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:21px}
.queue-card{padding:21px;display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.queue-card h2{font-size:15px;margin:0 0 8px;color:var(--navy)}
.queue-card strong{font-size:27px;color:var(--navy)}
.queue-card small{display:block;margin-top:6px;color:var(--muted)}
.priority{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:700;white-space:nowrap}
.priority.high{background:var(--danger-bg);color:var(--danger)}
.priority.medium{background:var(--warning-bg);color:var(--warning)}
.priority.normal{background:var(--blue-light);color:var(--blue)}
.month-selector{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin-bottom:20px}
.month-selector label{display:block;color:var(--muted);font-size:11px;font-weight:700;margin-bottom:7px}
.month-selector select{min-width:210px;padding:12px;border:1px solid var(--line);border-radius:11px;background:#fff;font-size:14px}
.closing-layout{display:grid;grid-template-columns:1.05fr .95fr;gap:17px}
.checklist{margin:0;padding:0;list-style:none}
.checklist li{display:flex;justify-content:space-between;align-items:center;gap:16px;border-bottom:1px solid var(--line);padding:14px 0;font-size:14px}
.checklist li:last-child{border:0}
.checklist .item-label small{display:block;color:var(--muted);font-size:12px;margin-top:4px}
.check-result{font-weight:700;font-size:13px}
.check-result.ok{color:var(--success)}.check-result.block{color:var(--danger)}.check-result.warn{color:var(--warning)}
.closing-status{padding:20px;border-radius:17px;border:1px solid var(--line);margin-bottom:16px}
.closing-status.closed{background:var(--success-bg);border-color:#bfe2ca;color:var(--success)}
.closing-status.changed{background:var(--warning-bg);border-color:#edd09e;color:var(--warning)}
.closing-status.open{background:#f3f7ff;border-color:#cadaf9;color:var(--blue)}
.closing-status h2{color:inherit;margin:0 0 7px;font-size:18px}
.closing-status p{margin:0;font-size:13px;line-height:1.55}
.history-table{margin-top:17px}
@media(max-width:1120px){.operation-grid{grid-template-columns:repeat(2,1fr)}.queue-grid,.closing-layout{grid-template-columns:1fr}}
@media(max-width:760px){.operation-grid,.form-grid{grid-template-columns:1fr}.queue-grid{grid-template-columns:1fr}}


/* RC1.1 — menu completo e prevenção de sobreposição */
.sidebar{
  display:flex;
  flex-direction:column;
  overflow-y:auto;
}
.menu{
  flex:0 0 auto;
}
.side-caption{
  position:static;
  left:auto;
  right:auto;
  bottom:auto;
  margin-top:auto;
  padding-top:28px;
}
@media(max-height:680px) and (min-width:781px){
  .sidebar{padding-top:23px;padding-bottom:23px}
  .menu{margin-top:22px}
  .menu a{padding:10px 13px;margin-bottom:4px}
  .side-caption{padding-top:18px}
}


/* RC1.2 — corrige colisão entre cartão "Próxima atenção" e selos da fila */
.dashboard-grid > *,
.side-panel {
  min-width: 0;
}

.side-panel .priority {
  display: block;
  width: 100%;
  max-width: 100%;
  white-space: normal;
  background: #fff8eb;
  border: 1px solid #f4dfbc;
  border-radius: 14px;
  padding: 15px;
  margin-top: 18px;
  color: var(--warning);
  overflow: hidden;
}

.side-panel .priority strong {
  display: block;
  font-size: 13px;
  line-height: 1.4;
  white-space: normal;
}

.side-panel .priority p {
  display: block;
  max-width: 100%;
  font-size: 12px;
  line-height: 1.6;
  margin: 8px 0 0;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: normal;
}

/* Selos de prioridade ficam limitados à tabela de Pendências. */
.operational-table .priority {
  display: inline-flex;
  width: auto;
  max-width: none;
  white-space: nowrap;
  margin-top: 0;
  padding: 5px 9px;
  border: 0;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
}
.operational-table .priority.high { background: var(--danger-bg); color: var(--danger); }
.operational-table .priority.medium { background: var(--warning-bg); color: var(--warning); }
.operational-table .priority.normal { background: var(--blue-light); color: var(--blue); }


/* ============================================================
   Aplicação Pessoal 1.0 — Identidade visual validada
   ============================================================ */
:root{
  --navy-950:#081627; --navy-900:#102941; --navy-800:#173b5a; --navy-700:#205173;
  --teal-700:#086d69; --teal-600:#0c817b; --teal-100:#e0f3f1;
  --gold-600:#b77516; --gold-100:#fff1d9;
  --red-700:#ad3437; --red-100:#fce7e8;
  --purple-700:#6d4bc0; --purple-100:#ede8fb;
  --blue-700:#2166a8; --blue-100:#e6f0fb;
  --green-700:#167056; --green-100:#e1f4ed;
  --ink:#152131; --muted:#66768a; --muted-2:#8896a8;
  --line:#e6ebf0; --line-dark:#d6dee7; --canvas:#f5f7fa; --paper:#fff;
  --shadow-soft:0 2px 5px rgba(15,30,45,.035),0 14px 30px rgba(15,30,45,.055);
  --shadow-raised:0 24px 60px rgba(9,21,36,.18);
  --blue:var(--blue-700); --blue-light:var(--blue-100);
  --success:var(--green-700); --success-bg:var(--green-100);
  --orange:var(--gold-600); --orange-bg:var(--gold-100);
  --danger:var(--red-700); --danger-bg:var(--red-100);
  --warning:var(--gold-600); --warning-bg:var(--gold-100);
  --navy:var(--navy-900); --navy2:var(--navy-800);
  --bg:var(--canvas); --white:var(--paper); --shadow:var(--shadow-soft);
}
html{scroll-behavior:smooth}
body{
  font-family:Inter,"Segoe UI",Roboto,Arial,sans-serif;
  background:var(--canvas);
  color:var(--ink);
  letter-spacing:-.005em;
}
.shell{display:block;min-height:100vh}

/* Lateral idêntica à identidade do Apps Script */
.sidebar{
  position:fixed;
  inset:0 auto 0 0;
  z-index:20;
  width:278px;
  height:100vh;
  padding:26px 18px 22px;
  background:linear-gradient(165deg,var(--navy-950) 0%,var(--navy-900) 54%,#123847 100%);
  color:#fff;
  display:flex;
  flex-direction:column;
  overflow:hidden;
}
.sidebar:before{
  content:"";position:absolute;width:270px;height:270px;right:-120px;top:-90px;
  border-radius:50%;background:rgba(43,167,154,.15);filter:blur(2px);
}
.sidebar:after{
  content:"";position:absolute;width:190px;height:190px;left:-105px;bottom:110px;
  border-radius:50%;background:rgba(255,255,255,.045);
}
.marca{
  position:relative;z-index:1;border:1px solid rgba(255,255,255,.1);
  background:rgba(255,255,255,.055);border-radius:20px;padding:18px 16px 16px;margin-bottom:27px;
}
.marca-topo{display:flex;align-items:center;gap:11px;margin-bottom:11px}
.marca-icone{
  width:39px;height:39px;display:grid;place-items:center;border-radius:13px;
  background:linear-gradient(145deg,#1ea99c,#0c817b);font-size:19px;
  box-shadow:0 10px 23px rgba(3,95,91,.32);
}
.marca-titulo{font-size:15px;line-height:1.28;font-weight:720;letter-spacing:-.02em}
.marca small{
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  color:rgba(255,255,255,.66);font-size:11px;font-weight:500;margin-top:4px;
}
.marca-badge{
  border-radius:999px;color:#84e2d8;background:rgba(12,129,123,.22);
  border:1px solid rgba(91,206,194,.2);padding:3px 7px;font-size:10px;
  font-weight:700;letter-spacing:.05em;text-transform:uppercase;
}
.menu-titulo{
  position:relative;z-index:1;font-size:10px;letter-spacing:.13em;text-transform:uppercase;
  font-weight:700;color:rgba(255,255,255,.38);margin:4px 11px 10px;
}
.menu-nav{position:relative;z-index:1;display:block;margin:0}
.menu-nav .menu-item{
  position:relative;display:flex;align-items:center;gap:11px;width:100%;
  border:0;background:transparent;color:rgba(239,246,255,.74);padding:12px 12px;
  margin-bottom:6px;border-radius:13px;text-align:left;font-size:14px;cursor:pointer;
  transition:all .18s ease;text-decoration:none;
}
.menu-nav .mi{
  display:grid;place-items:center;width:31px;height:31px;border-radius:10px;
  color:rgba(255,255,255,.74);background:rgba(255,255,255,.05);
  transition:all .18s ease;font-size:15px;flex:none;
}
.menu-nav .menu-item:hover{background:rgba(255,255,255,.075);color:#fff;transform:translateX(1px)}
.menu-nav .menu-item.ativo{
  color:#fff;background:linear-gradient(96deg,rgba(12,129,123,.32),rgba(255,255,255,.08));font-weight:650;
}
.menu-nav .menu-item.ativo:before{
  content:"";position:absolute;left:0;top:12px;bottom:12px;width:3px;border-radius:3px;background:#37c6ba;
}
.menu-nav .menu-item.ativo .mi{color:#efffff;background:rgba(28,173,160,.2)}
.rodape-lateral{
  position:relative;z-index:1;margin-top:auto;border-top:1px solid rgba(255,255,255,.1);
  padding:17px 10px 2px;color:rgba(226,237,247,.62);font-size:11.5px;line-height:1.65;
}
.seguranca{display:flex;gap:7px;align-items:center;color:#87d9d2;font-weight:650;margin-bottom:7px}

/* Conteúdo e cabeçalho */
.content{
  margin-left:278px;width:calc(100% - 278px);padding:27px 31px 44px;min-width:0;
}
.top,.page-header{
  position:static;display:flex;align-items:center;justify-content:space-between;gap:20px;
  margin-bottom:25px;padding:17px 20px;border:1px solid rgba(230,235,240,.9);
  border-radius:18px;background:rgba(255,255,255,.86);
  box-shadow:0 8px 30px rgba(14,31,48,.045);backdrop-filter:blur(12px);
}
.eyebrow{
  color:var(--teal-700);text-transform:uppercase;font-weight:700;font-size:10px;
  letter-spacing:.12em;margin-bottom:5px;
}
.top h1,.page-header h1{
  font-size:27px;line-height:1.14;font-weight:730;letter-spacing:-.035em;
  margin:0 0 6px;color:var(--navy-900);
}
.sub{
  display:flex;align-items:center;gap:7px;color:var(--muted);font-size:12.5px;
}
.sub:before{
  content:"";width:7px;height:7px;background:var(--teal-600);border-radius:50%;
  box-shadow:0 0 0 4px var(--teal-100);flex:none;
}
.user{font-size:12.5px;color:var(--muted);display:flex;align-items:center;gap:9px}

/* Ações no padrão original */
.button,.action-button,.table-action{
  border:1px solid var(--line-dark);background:#fff;color:var(--navy-800);
  border-radius:11px;min-height:40px;padding:9px 15px;cursor:pointer;font-weight:640;
  font-size:13px;transition:all .16s ease;box-shadow:0 1px 1px rgba(10,24,38,.03);
  text-decoration:none;display:inline-flex;align-items:center;justify-content:center;
}
.button:hover:not(:disabled),.action-button:hover,.table-action:hover{
  background:#f7f9fc;border-color:#bdcad8;transform:translateY(-1px);
  box-shadow:0 7px 16px rgba(16,40,64,.08);
}
.button:not(.ghost),.action-button.primary{
  color:#fff;background:linear-gradient(135deg,var(--navy-800),var(--navy-700));
  border-color:transparent;box-shadow:0 10px 18px rgba(23,59,90,.18);
}
.action-button.success{color:#fff;background:var(--green-700);border-color:transparent}
.button.ghost{background:#fff;color:var(--navy-800)}
.button.full{width:100%}
.button:disabled{opacity:.48;cursor:not-allowed;box-shadow:none}

/* Alertas */
.notice,.warning-banner{
  position:relative;border-radius:14px;padding:14px 16px;margin-bottom:17px;
  font-size:13px;line-height:1.58;border:1px solid;
}
.notice.demo{background:#fff8ec;border-color:#f3d69c;color:#805219}
.notice.success{background:#edf9f4;border-color:#bbe6d4;color:var(--green-700);font-weight:600}
.notice.error{background:#fff1f1;border-color:#efb8ba;color:var(--red-700)}
.warning-banner{background:#fff8ec;border-color:#f3d69c;color:#805219}

/* Cards financeiros */
.stats,.receipt-stats,.operation-grid{
  display:grid;grid-template-columns:repeat(4,minmax(165px,1fr));gap:15px;margin-bottom:23px;
}
.card{
  position:relative;overflow:hidden;border:1px solid var(--line);border-radius:18px;
  padding:18px 18px 17px;background:#fff;box-shadow:var(--shadow-soft);
  transition:transform .18s ease,box-shadow .18s ease;
}
.card:hover{transform:translateY(-2px);box-shadow:0 20px 34px rgba(12,29,47,.08)}
.stat,.receipt-stat,.operation-card{min-height:121px}
.stat:after,.receipt-stat:after,.operation-card:after{
  content:"";position:absolute;right:-30px;top:-39px;width:103px;height:103px;border-radius:50%;opacity:.52;
}
.stat label,.receipt-stat label,.operation-card label{
  position:relative;z-index:1;display:block;font-size:10.5px;letter-spacing:.075em;
  text-transform:uppercase;color:var(--muted);font-weight:760;margin-bottom:16px;
}
.stat strong,.receipt-stat strong,.operation-card strong{
  position:relative;z-index:1;font-size:27px;line-height:1.1;
  letter-spacing:-.045em;font-weight:745;
}
.stat small,.receipt-stat small,.operation-card small{position:relative;z-index:1;color:var(--muted);font-size:11.5px;margin-top:7px}
.stat.blue,.receipt-stat.blue,.operation-card.soft-blue{background:linear-gradient(145deg,#fff,var(--blue-100))}
.stat.blue strong,.receipt-stat.blue strong,.operation-card.soft-blue strong{color:var(--blue-700)}
.stat.blue:after,.receipt-stat.blue:after,.operation-card.soft-blue:after{background:#b7d5f3}
.stat.green,.receipt-stat.green,.operation-card.soft-green{background:linear-gradient(145deg,#fff,var(--green-100))}
.stat.green strong,.receipt-stat.green strong,.operation-card.soft-green strong{color:var(--green-700)}
.stat.green:after,.receipt-stat.green:after,.operation-card.soft-green:after{background:#b9e4d5}
.stat.orange,.receipt-stat.orange,.operation-card.soft-orange{background:linear-gradient(145deg,#fff,var(--gold-100))}
.stat.orange strong,.receipt-stat.orange strong,.operation-card.soft-orange strong{color:var(--gold-600)}
.stat.orange:after,.receipt-stat.orange:after,.operation-card.soft-orange:after{background:#efd6a4}
.stat.red,.receipt-stat.red,.operation-card.soft-red{background:linear-gradient(145deg,#fff,var(--red-100))}
.stat.red strong,.receipt-stat.red strong,.operation-card.soft-red strong{color:var(--red-700)}
.stat.red:after,.receipt-stat.red:after,.operation-card.soft-red:after{background:#edc0c2}

/* Painéis, gráficos e formulários */
.dashboard-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:17px}
.chart-card,.side-panel,.page-panel,.receipt-panel,.receipt-list-panel,.rs-panel,.import-card{
  background:var(--paper);border:1px solid var(--line);border-radius:20px;
  padding:21px;margin-bottom:17px;box-shadow:var(--shadow-soft);
}
.chart-card:hover,.side-panel:hover,.page-panel:hover,.receipt-panel:hover,.receipt-list-panel:hover,.rs-panel:hover,.import-card:hover{transform:none}
.section-header,.panel-head{
  display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:15px;
}
.section-header h2,.panel-head h2,.rs-panel h2,.import-card h2{
  margin:0 0 5px;font-size:16px;font-weight:700;letter-spacing:-.02em;color:var(--navy-900);
}
.section-header p,.panel-head p,.helper{color:var(--muted);font-size:12px;line-height:1.4}
.comparison{background:#f5f8fc;border:1px solid var(--line);border-radius:13px;padding:10px 12px;color:var(--muted)}
.revenue-chart{background:linear-gradient(to top,rgba(230,235,240,.72) 1px,transparent 1px);background-size:100% 49px;border-radius:13px}
.legend{font-size:12px;color:var(--muted)}
.closing-row{border-color:var(--line)}
.side-panel .priority{
  background:#fff8ec;border-color:#f3d69c;color:#805219;
}

/* Filtros e tabelas */
.filters{
  display:flex;gap:9px;flex-wrap:wrap;align-items:center;padding:12px;margin:0 -2px 16px;
  background:#f8fafc;border:1px solid var(--line);border-radius:14px;
}
.filters input,.filters select,.form-grid input,.form-grid select,.upload-form select,.upload-form input[type=file],.month-selector select{
  border:1px solid var(--line-dark);border-radius:10px;padding:11px 13px;min-height:42px;
  color:var(--ink);font-size:13px;background:#fff;outline:none;
  transition:border-color .14s,box-shadow .14s;
}
.filters input:focus,.filters select:focus,.form-grid input:focus,.form-grid select:focus{
  border-color:#4aa9a1;box-shadow:0 0 0 3px rgba(12,129,123,.13);
}
.operational-table,.table-wrap,.preview-table{
  overflow-x:auto;border:1px solid var(--line);border-radius:15px;background:#fff;
}
table{border-collapse:separate;border-spacing:0;width:100%;font-size:13px}
th{
  position:sticky;top:0;z-index:1;text-align:left;color:var(--muted-2);font-size:10px;
  letter-spacing:.08em;text-transform:uppercase;padding:13px 12px;background:#f7f9fc;
  white-space:nowrap;font-weight:760;border-bottom:1px solid var(--line);
}
td{padding:13px 12px;border-top:1px solid #eef2f5;vertical-align:middle;transition:background .12s}
tbody tr:first-child td{border-top:0}
tbody tr:hover td{background:#fafcfd}
.identification strong{font-weight:650;margin-bottom:4px;color:var(--ink)}
.identification small{color:var(--muted);font-size:11.5px;line-height:1.45}
.money{white-space:nowrap;font-weight:700;font-variant-numeric:tabular-nums}
.tag,.pill,.preview-status,.batch-status{
  display:inline-flex;align-items:center;padding:5px 10px;border-radius:999px;
  font-size:10.5px;font-weight:760;white-space:nowrap;background:var(--gold-100);color:var(--gold-600);
}
.tag.emitted,.pill.ok,.batch-status.done{background:var(--green-100);color:var(--green-700)}
.tag.attention,.pill.pending{background:var(--red-100);color:var(--red-700)}
.tag.neutral{background:var(--blue-100);color:var(--blue-700)}
.sortable.active,.sortable:hover{background:#eef6f7;color:var(--teal-700)}
.sortable a{color:inherit}
.pagination{color:var(--muted);font-size:12.5px}

/* Despesas, pendências, fechamento e Receita Saúde */
.review-box,.detail-card,.receipt-preview,.fiscal-intro,.closing-status{
  background:#f8fafc;border:1px solid var(--line);border-radius:15px;padding:17px;margin-bottom:18px;
}
.queue-card h2{font-size:14px;color:var(--navy-900)}
.operational-table .priority.high{background:var(--red-100);color:var(--red-700)}
.operational-table .priority.medium{background:var(--gold-100);color:var(--gold-600)}
.operational-table .priority.normal{background:var(--blue-100);color:var(--blue-700)}
.closing-status.closed{background:#edf9f4;border-color:#bbe6d4;color:var(--green-700)}
.closing-status.changed{background:#fff8ec;border-color:#f3d69c;color:#805219}
.closing-status.open{background:#f0f7ff;border-color:#cddff3;color:var(--blue-700)}
.checklist li{border-bottom:1px solid var(--line)}
.check-result.ok{color:var(--green-700)}
.check-result.block{color:var(--red-700)}
.check-result.warn{color:var(--gold-600)}
.batch{border-color:var(--line);border-radius:12px}
.csv-note,.demo-file{background:#fff8ec;border:1px solid #f3d69c;color:#805219}

/* Modal mensal já existente */
.modal-backdrop{
  background:rgba(7,17,30,.58);backdrop-filter:blur(4px);
}
.modal-card{
  border-radius:22px;box-shadow:var(--shadow-raised);border:0;background:#fff;
}
.modal-head h2{color:var(--navy-900);letter-spacing:-.03em}
.close-button{border-color:var(--line-dark);background:#fff;color:var(--navy-800)}

/* Responsividade como na interface Apps Script */
@media(max-width:1160px){
  .stats,.receipt-stats,.operation-grid{grid-template-columns:repeat(2,1fr)}
  .dashboard-grid{grid-template-columns:1fr}
}
@media(max-width:870px){
  .shell{display:block}
  .sidebar{position:relative;width:100%;height:auto;padding:14px;display:block}
  .marca{margin-bottom:12px;padding:12px 13px}
  .marca-topo{margin-bottom:4px}
  .marca small,.rodape-lateral,.menu-titulo{display:none}
  .menu-nav{display:flex;gap:6px;overflow-x:auto}
  .menu-nav .menu-item{flex:0 0 auto;width:auto;margin:0;padding:8px 11px}
  .menu-nav .mi{display:none}
  .menu-nav .menu-item.ativo:before{display:none}
  .content{margin-left:0;width:100%;padding:14px 14px 34px}
  .top,.page-header{padding:14px}
  .top h1,.page-header h1{font-size:23px}
}
@media(max-width:660px){
  .top,.page-header{align-items:flex-start;flex-direction:column}
  .user{width:100%;justify-content:space-between}
  .stats,.receipt-stats,.operation-grid{grid-template-columns:1fr}
  .chart-card,.side-panel,.page-panel,.receipt-panel,.receipt-list-panel,.rs-panel,.import-card{padding:16px;border-radius:17px}
  .filters{padding:10px}
  .filters input,.filters select{min-width:100%;width:100%}
  .pagination{flex-direction:column;align-items:flex-start}
}


/* ============================================================
   Aplicação Pessoal 1.0.1 — telas de login e configuração
   ============================================================ */
.auth-wrap{
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:36px 20px;
  background:
    radial-gradient(circle at 84% 10%, rgba(12,129,123,.14), transparent 34%),
    radial-gradient(circle at 18% 90%, rgba(33,102,168,.10), transparent 30%),
    var(--canvas);
}
.auth{
  width:min(470px,100%);
}
.auth .card{
  position:relative;
  padding:39px 38px 35px;
  border:1px solid var(--line);
  border-radius:25px;
  background:var(--paper);
  box-shadow:0 26px 65px rgba(9,21,36,.095);
}
.auth .card:before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  right:0;
  height:5px;
  border-radius:25px 25px 0 0;
  background:linear-gradient(90deg,var(--teal-600),var(--navy-700));
}
.auth .logo{
  position:relative;
  padding-left:53px;
  margin-bottom:29px;
  min-height:42px;
  color:var(--navy-900);
  font-size:18px;
  font-weight:730;
  line-height:1.32;
  letter-spacing:-.025em;
}
.auth .logo:before{
  content:"◈";
  position:absolute;
  left:0;
  top:0;
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  border-radius:13px;
  color:#fff;
  background:linear-gradient(145deg,#1ea99c,#0c817b);
  box-shadow:0 10px 23px rgba(3,95,91,.26);
}
.auth .logo small{
  display:block;
  margin-top:5px;
  color:var(--muted);
  font-weight:500;
  font-size:12px;
  letter-spacing:0;
}
.auth h2{
  margin:0 0 8px;
  color:var(--navy-900);
  font-size:23px;
  letter-spacing:-.035em;
}
.auth .lead{
  margin:0 0 24px;
  color:var(--muted);
  font-size:13px;
  line-height:1.62;
}
.auth .field{
  margin-bottom:15px;
}
.auth .field label{
  display:block;
  margin-bottom:7px;
  color:var(--muted);
  font-size:10.5px;
  font-weight:760;
  letter-spacing:.08em;
}
.auth .field input{
  display:block;
  width:100%;
  height:45px;
  border:1px solid var(--line-dark);
  border-radius:11px;
  background:#fff;
  color:var(--ink);
  padding:0 13px;
  font-size:14px;
  outline:none;
  transition:border-color .15s ease, box-shadow .15s ease;
}
.auth .field input:focus{
  border-color:#4aa9a1;
  box-shadow:0 0 0 3px rgba(12,129,123,.13);
}
.auth .button.full{
  min-height:46px;
  margin-top:9px;
  border-radius:12px;
}
.auth code{
  background:#f5f7fa;
  border:1px solid var(--line);
  border-radius:6px;
  padding:2px 5px;
  font-size:12px;
}
.auth .notice{
  margin-bottom:20px;
}
.auth .footer-note{
  margin:22px 0 0;
  padding-top:18px;
  border-top:1px solid var(--line);
  color:var(--muted);
  font-size:11.5px;
  line-height:1.6;
}
@media(max-width:520px){
  .auth-wrap{padding:15px}
  .auth .card{padding:31px 21px 26px;border-radius:20px}
  .auth h2{font-size:21px}
}


/* Aplicação Pessoal 1.0.3 — Pacientes e onboarding */
.patient-layout{display:grid;grid-template-columns:390px 1fr;gap:17px;margin-bottom:18px}
.patient-form,.patient-list,.unresolved-panel{padding:22px}
.patient-form h2,.patient-list h2,.unresolved-panel h2,.link-highlight h2{margin:0 0 6px;font-size:18px;color:var(--navy-900);letter-spacing:-.02em}
.patient-form .helper{margin:0 0 18px;color:var(--muted);font-size:12.5px;line-height:1.55}
.patient-form .field{margin-bottom:13px}
.patient-form label{display:block;font-size:10.5px;font-weight:760;letter-spacing:.07em;color:var(--muted);margin-bottom:7px}
.patient-form input,.patient-form textarea,.link-existing select{
  width:100%;border:1px solid var(--line-dark);border-radius:11px;padding:11px 12px;
  font:inherit;font-size:13px;background:#fff;color:var(--ink);outline:none;
}
.patient-form textarea{resize:vertical;min-height:76px}
.patient-form input:focus,.patient-form textarea:focus,.link-existing select:focus{
  border-color:#4aa9a1;box-shadow:0 0 0 3px rgba(12,129,123,.13)
}
.link-highlight{
  display:flex;justify-content:space-between;align-items:center;gap:22px;
  border:1px solid #cfe4e1;background:linear-gradient(135deg,#effaf8,#fff);
  border-radius:17px;padding:18px 20px;margin-bottom:18px;
}
.link-highlight p{margin:0;color:var(--muted);font-size:13px}
.link-existing{display:flex;align-items:center;gap:9px;min-width:430px}
.filters.compact input{min-width:215px}
.masked-data{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;color:var(--muted)}
.unresolved-panel{margin-top:4px}
@media(max-width:1120px){.patient-layout{grid-template-columns:1fr}.link-highlight{flex-direction:column;align-items:flex-start}.link-existing{width:100%;min-width:0}}
@media(max-width:680px){.link-existing{flex-direction:column}.link-existing select,.link-existing .button{width:100%}}


/* Aplicação Pessoal 1.0.4 — classificação de entradas */
.classification-highlight{
  border:1px solid #cfe4e1;background:linear-gradient(135deg,#effaf8,#fff);
  border-radius:18px;padding:20px;margin-bottom:18px;
}
.classification-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:14px}
.classification-head h2{margin:5px 0 6px;font-size:19px;color:var(--navy-900)}
.classification-head p{margin:0;color:var(--muted);font-size:13px}
.classification-rule{
  padding:12px 14px;border-radius:12px;border:1px solid var(--line);
  background:#fff;color:var(--muted);font-size:12.5px;line-height:1.6;margin-bottom:14px;
}
.classification-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px}
.classification-actions form{display:block}
.class-choice{
  width:100%;text-align:left;border:1px solid var(--line-dark);background:#fff;
  border-radius:13px;padding:13px 14px;cursor:pointer;transition:all .16s ease;
}
.class-choice strong{display:block;font-size:14px;color:var(--navy-900);margin-bottom:4px}
.class-choice small{color:var(--muted);font-size:11.5px}
.class-choice:hover{transform:translateY(-1px);box-shadow:0 8px 17px rgba(16,40,64,.07)}
.class-choice.family:hover{border-color:#d8a54a;background:#fffaf0}
.class-choice.personal:hover{border-color:#8192a6;background:#f7f9fc}
.class-choice.platform:hover{border-color:#4aa9a1;background:#f0fbf9}
.patient-link-box{
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  border-top:1px solid var(--line);padding-top:14px;color:var(--navy-900);font-size:13px;
}
.patient-link-box .link-existing{flex:1;justify-content:flex-end}
@media(max-width:860px){
  .classification-actions{grid-template-columns:1fr}
  .patient-link-box{display:block}
  .patient-link-box .link-existing{margin-top:10px;display:flex}
}


/* Aplicação Pessoal 1.0.9 — triagem em lote */
.patients-main{padding:22px;margin-bottom:18px}
.bulk-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:11px 13px;border:1px solid var(--line);background:#f8fafc;border-radius:13px;margin-bottom:12px;color:var(--muted);font-size:12px;font-weight:650}
.bulk-button{border:1px solid var(--line-dark);background:#fff;border-radius:9px;padding:8px 11px;font-size:12px;font-weight:700;cursor:pointer;color:var(--navy-800)}
.bulk-button.family:hover{background:#fff7e7;border-color:#e3c17d}
.bulk-button.personal:hover{background:#f4f7fb;border-color:#b9c5d2}
.bulk-button.platform:hover{background:#edf9f7;border-color:#9bd7d0}
.edit-person{padding:22px;margin-bottom:18px}
.edit-grid{display:grid;grid-template-columns:1fr 1fr auto;gap:11px;align-items:end;margin-bottom:16px}
.edit-grid label,.merge-form label{display:block;color:var(--muted);font-size:10.5px;font-weight:760;letter-spacing:.07em;margin-bottom:7px}
.edit-grid input,.merge-form select{width:100%;min-height:43px;border:1px solid var(--line-dark);border-radius:10px;padding:10px 12px;font-size:13px}
.merge-form{display:grid;grid-template-columns:1fr auto;align-items:end;gap:10px;padding-top:15px;border-top:1px solid var(--line)}
.merge-form label{grid-column:1/-1;margin-bottom:-3px}
.subgroups{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}
.subgroups > h2{grid-column:1/-1;font-size:17px;color:var(--navy-900);margin:5px 0 0}
.subgroup{padding:17px}
.subgroup h3{margin:0 0 4px;font-size:15px;color:var(--navy-900)}
.subgroup .panel-head{margin-bottom:12px}
.subgroup table{font-size:12px}
.subgroup th,.subgroup td{padding:10px 9px}
@media(max-width:1100px){.subgroups{grid-template-columns:1fr}.edit-grid{grid-template-columns:1fr 1fr}.edit-submit{grid-column:1/-1}}
@media(max-width:680px){.edit-grid,.merge-form{grid-template-columns:1fr}.bulk-bar{display:block}.bulk-button{display:block;width:100%;margin-top:7px}}


/* Aplicação Pessoal 1.0.9.2 — classificação individual por registro */
.row-classify{
  display:flex;
  align-items:center;
  gap:6px;
  min-width:224px;
}
.row-classify select{
  flex:1;
  min-width:125px;
  height:37px;
  border:1px solid var(--line-dark);
  border-radius:9px;
  padding:0 8px;
  background:#fff;
  color:var(--ink);
  font-size:12px;
}
.row-classify select:focus{
  outline:none;
  border-color:#4aa9a1;
  box-shadow:0 0 0 3px rgba(12,129,123,.13);
}
.row-classify button{
  height:37px;
  border:1px solid var(--line-dark);
  border-radius:9px;
  background:#fff;
  color:var(--navy-800);
  padding:0 10px;
  font-size:11.5px;
  font-weight:700;
  cursor:pointer;
}
.row-classify button:hover{
  border-color:#86c5bf;
  background:#effaf8;
  color:var(--teal-700);
}
.compact-row{min-width:195px}
.compact-row select{min-width:103px}
.subgroup{min-width:0}
.subgroups{grid-template-columns:repeat(3,minmax(295px,1fr))}
@media(max-width:1280px){
  .subgroups{grid-template-columns:1fr}
}
@media(max-width:760px){
  .row-classify{min-width:190px;flex-direction:column;align-items:stretch}
}
