/* MonCabinet premium UI — shared product layer */
:root{--mc-font-size:14.5px;--mc-font-table:13.5px;--mc-font-label:13.5px;--mc-control-height:38px;--mc-space-1:4px;--mc-space-2:8px;--mc-space-3:12px;--mc-space-4:16px;--mc-space-5:20px;--mc-space-6:24px;--mc-radius-sm:7px;--mc-radius-md:10px;--mc-radius-lg:12px;--mc-shadow-sm:0 2px 8px rgba(30,61,105,.055);--mc-shadow-md:0 8px 24px rgba(30,61,105,.09)}
body{font-size:var(--mc-font-size);line-height:1.45}.page{padding:var(--mc-space-4);}.mc-icon{width:18px;height:18px}.sidebar nav a{font-size:13px}.brand-copy strong{font-size:16px}.brand-copy small{font-size:10px}.search input{font-size:13px}.identity{font-size:12px}.identity small{font-size:10.5px}
.breadcrumb{min-height:22px;margin:0 0 var(--mc-space-2);font-size:12px;color:var(--mc-text-muted)}.breadcrumb a{color:#326fae}.page-heading,.page-header{display:flex;align-items:center;justify-content:space-between;gap:var(--mc-space-4);min-height:78px;margin:0 0 var(--mc-space-4);padding:var(--mc-space-4) var(--mc-space-5);border:1px solid rgba(28,69,112,.08);border-left:4px solid var(--mc-primary);border-radius:var(--mc-radius-lg);background:linear-gradient(100deg,#edf5ff 0%,#f8fbff 62%,#fff 100%);box-shadow:var(--mc-shadow-sm)}.page-heading>div,.page-header>div{min-width:0}.page-heading h1,.page-header h1{margin:1px 0 2px;font-size:clamp(22px,1.7vw,25px);line-height:1.18;letter-spacing:-.02em}.page-heading p,.page-header p{margin:2px 0}.eyebrow{font-size:10.5px;letter-spacing:.1em}.muted{font-size:13px;color:var(--mc-text-muted)}.page-heading>div:last-child,.page-header>div:last-child{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.page-heading>span,.page-header>span{flex:none}
.card,.ref-card{border:1px solid rgba(28,69,112,.09);border-radius:var(--mc-radius-lg);box-shadow:var(--mc-shadow-sm)}.card{padding:var(--mc-space-4);margin-bottom:var(--mc-space-4)}.card h1{font-size:22px}.card h2,.card-head h2{font-size:16px;line-height:1.25}.card h3{font-size:14.5px}.card-head,.section-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:12px;margin-bottom:12px;border-bottom:1px solid #edf1f6}.card-head p{margin:2px 0}.detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.detail-grid>div{padding:12px;border:1px solid #e8eef6;border-radius:9px;background:#f8fafd}.detail-grid small{display:block;margin-bottom:3px;color:var(--mc-text-muted);font-size:12px}.detail-grid strong{font-size:15px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;padding:7px 13px;border:1px solid #cdd9e8;border-radius:var(--mc-radius-sm);background:#fff;color:#183a63;font-size:13.5px;font-weight:700;line-height:1.15;box-shadow:0 1px 2px rgba(30,61,105,.03)}.btn:hover{border-color:#9fb6d1;background:#f5f8fc;color:#0b4f94}.btn-primary{border-color:var(--mc-primary);background:var(--mc-primary);color:#fff;box-shadow:0 4px 11px rgba(11,120,246,.18)}.btn-primary:hover{border-color:var(--mc-primary-dark);background:var(--mc-primary-dark);color:#fff}.btn-secondary{border-color:#173d69;background:#173d69;color:#fff}.btn-secondary:hover{background:#0c2b59;color:#fff}.btn-success{border-color:#14815c;background:#16875f;color:#fff}.btn-success:hover{background:#116b4d;color:#fff}.btn-warning{border-color:#d77c08;background:#e58910;color:#fff}.btn-warning:hover{background:#bd6805;color:#fff}.btn-danger{border-color:#c43d4b;background:#c43d4b;color:#fff}.btn-danger:hover{background:#a62f3c;color:#fff}.btn-outline{border-color:#afc2d9;background:#fff;color:#245c99}.btn-ghost{border-color:transparent;background:transparent;color:#44617f;box-shadow:none}.btn-ghost:hover{background:#edf3fa}.btn .mc-icon{width:15px;height:15px}.table-card td .btn,.global-list td .btn,.responsive-table td .btn{min-height:30px;padding:5px 9px;font-size:12px}
.form-card{max-width:1280px}.form-stack{gap:16px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px}.form-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.form-grid label,.form-stack>label,.login-form label{gap:6px;color:#304c6c;font-size:var(--mc-font-label);font-weight:650}.form-grid input,.form-grid select,.form-grid textarea,.form-stack>label input,.form-stack>label select,.form-stack>label textarea,.global-filters input,.global-filters select,.patient-filters input,.patient-filters select,.filter-bar input,.filter-bar select{min-height:var(--mc-control-height);padding:8px 10px;border:1px solid #cbd8e7;border-radius:var(--mc-radius-sm);background:#fff;color:var(--mc-text);font-size:14px}.form-grid textarea,.form-stack textarea{min-height:88px;resize:vertical}.form-grid input::placeholder,.global-filters input::placeholder,.filter-bar input::placeholder{color:#91a0b4}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus,.global-filters input:focus,.global-filters select:focus,.filter-bar input:focus,.filter-bar select:focus{border-color:#64a5ed;outline:0;box-shadow:0 0 0 3px rgba(11,120,246,.11)}input:disabled,select:disabled,textarea:disabled{background:#edf1f6;color:#6f7e91;cursor:not-allowed}.form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px;padding-top:14px;border-top:1px solid #e8eef5}.form-section{padding-bottom:16px}.section-heading{margin-bottom:12px}.section-heading h2{font-size:16px}
.global-filters,.patient-filters,.filter-bar{display:flex;align-items:end;gap:8px;flex-wrap:wrap;margin:0 0 14px;padding:12px;background:#fff}.global-filters input[name=q],.patient-filters input[name=q],.filter-bar input[name=q]{flex:2 1 270px;padding-left:12px}.global-filters select,.patient-filters select,.filter-bar select{flex:1 1 145px}.global-filters .btn,.patient-filters .btn,.filter-bar .btn{flex:0 0 auto}.table-card,.global-list,.responsive-table{overflow-x:auto}.table-card table,.global-list table,.responsive-table table{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--mc-font-table)}.table-card th,.global-list th,.responsive-table th{padding:10px 11px;background:#f5f8fc;color:#536985;font-size:12px;font-weight:750;letter-spacing:.025em;text-transform:uppercase;white-space:nowrap}.table-card td,.global-list td,.responsive-table td{padding:10px 11px;border-bottom:1px solid #e9eef5;vertical-align:middle}.table-card tbody tr:hover td,.global-list tbody tr:hover td,.responsive-table tbody tr:hover td{background:#f7faff}.table-card tbody tr:last-child td,.global-list tbody tr:last-child td{border-bottom:0}.pagination{display:flex;justify-content:center;gap:5px;margin-top:14px}.pagination a{min-width:34px;padding:7px 9px;border:1px solid #d6e0ed;border-radius:7px;background:#fff;font-size:12.5px;text-align:center}.pagination a.active{border-color:var(--mc-primary);background:var(--mc-primary);color:#fff}
.badge,.patient-status,.appointment-status,.consultation-status,.exam-status,.result-flag,.ref-status{min-height:23px;padding:4px 8px;border-radius:999px;font-size:11.5px;font-weight:750}.status-active,.status-validated,.status-paid,.status-completed,.status-approved{background:#dff5eb;color:#116b49}.status-draft,.status-partially_paid,.status-pending,.status-requested,.status-arrived,.status-in_consultation{background:#fff0d9;color:#8c5706}.status-cancelled,.status-rejected,.status-expired,.status-critical,.status-no_show{background:#fde7e9;color:#a72f3c}.status-inactive,.status-suspended,.status-unpaid{background:#e9edf3;color:#526277}.status-confirmed,.status-result_available,.status-collected{background:#e3efff;color:#175da8}
.premium-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 14px}.premium-kpi{position:relative;display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:10px;min-height:82px;padding:13px 14px;border:1px solid rgba(28,69,112,.08);border-radius:10px;background:#fff;box-shadow:var(--mc-shadow-sm)}.premium-kpi>span{display:grid;place-items:center;grid-row:1/3;width:42px;height:42px;border-radius:9px;background:#e8f2ff;color:#0b78f6}.premium-kpi>span .mc-icon{width:20px;height:20px}.premium-kpi small{align-self:end;color:var(--mc-text-muted);font-size:12px;font-weight:650}.premium-kpi strong{align-self:start;font-size:25px;line-height:1.05;letter-spacing:-.025em}.premium-kpi.green>span{background:#e1f7ee;color:#07845a}.premium-kpi.orange>span{background:#fff0df;color:#dc7606}.premium-kpi.purple>span{background:#f0e7ff;color:#7542b8}.premium-kpi.red>span{background:#fdebed;color:#c43d4b}
.empty-state,.empty-clinical,.ref-empty{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:7px;min-height:130px;padding:24px;color:var(--mc-text-muted);text-align:center}.empty-state h2,.empty-state strong{margin:0;color:#29496d;font-size:16px}.alert{padding:9px 12px;border-radius:8px;font-size:13px}
.patient-hero,.consultation-hero{border:1px solid rgba(28,69,112,.08);border-left:4px solid var(--mc-primary);border-radius:12px;background:linear-gradient(110deg,#eaf3ff,#fbfdff);box-shadow:var(--mc-shadow-sm)}.patient-hero{padding:18px 20px}.patient-avatar{width:56px;height:56px}.patient-hero h1,.consultation-hero h1{font-size:23px}.clinical-summary-strip,.clinical-context-strip{gap:12px}.clinical-summary-strip article,.clinical-context-strip article{border-radius:10px;padding:13px}.clinical-summary-strip strong,.clinical-context-strip article>strong{font-size:24px}.clinical-section,.consultation-section{border-radius:10px}.consultation-section h2{font-size:16px}.vitals-grid label{font-size:13px}.certificate-editor{min-height:250px}
.appointment-toolbar{display:flex;align-items:center;gap:12px;padding:12px 14px}.appointment-toolbar label{font-size:13px}.appointment-toolbar select{height:36px;border-color:#cbd8e7}.agenda-card{padding:12px}.fc{font-size:13px}.fc .fc-toolbar{gap:8px}.fc .fc-toolbar-title{font-size:17px}.fc .fc-button{min-height:34px;padding:6px 10px!important;border-radius:7px!important;font-size:12px!important;font-weight:700!important}.fc .fc-button-primary{border-color:#c7d5e5!important;background:#fff!important;color:#385777!important}.fc .fc-button-primary:hover,.fc .fc-button-active{border-color:var(--mc-primary)!important;background:var(--mc-primary)!important;color:#fff!important}.fc .fc-col-header-cell-cushion{padding:8px 4px;color:#526984;font-size:12px;font-weight:750}.fc .fc-timegrid-slot{height:1.45em}.fc .fc-timegrid-slot-label-cushion{font-size:11px;color:#728298}.fc-theme-standard td,.fc-theme-standard th{border-color:#e5ebf3!important}.fc .fc-day-today{background:#f2f8ff!important}.fc-event{border:0!important;border-left:3px solid currentColor!important;border-radius:6px!important;box-shadow:0 2px 5px rgba(31,65,103,.08);padding:3px 5px!important}.mc-fc-event-content strong{font-size:12px}.mc-fc-event-content small{font-size:10.5px}
.invoice-totals,.payer-split{margin-left:auto;max-width:430px;padding:16px;border-radius:10px;background:#f6f9fd}.invoice-totals .total,.payer-split .total{font-size:20px}.insurance-cards{gap:12px}.insurance-cards a{transition:transform .15s,box-shadow .15s}.insurance-cards a:hover{transform:translateY(-2px);box-shadow:var(--mc-shadow-md)}
.ref-welcome h1{font-size:23px}.ref-welcome p{font-size:13px}.welcome-location{font-size:11px}.welcome-meta>strong{font-size:11px}.welcome-meta time{font-size:13px}.welcome-meta small{font-size:10.5px}.ref-kpi small{font-size:11.5px}.ref-kpi strong{font-size:26px}.ref-kpi p{font-size:10px}.ref-card-head h2{font-size:15px}.ref-card-head p,.ref-card-head>a{font-size:11px}.ref-list strong{font-size:12.5px}.ref-list small{font-size:11px}.ref-status{font-size:10px}.upcoming-list time{font-size:12px}.ref-empty{font-size:12px}.alert-list strong{font-size:12px}.alert-list small{font-size:10.5px}.ref-shortcuts a{font-size:10.5px}.ref-calendar-card .fc .fc-toolbar-title{font-size:13px}.ref-calendar-card .fc .fc-button{font-size:10px}.ref-calendar-card .fc-col-header-cell-cushion{font-size:10px}.ref-calendar-card .fc-timegrid-slot-label-cushion{font-size:9px}.ref-calendar-card .mc-fc-event-content strong{font-size:10px}.ref-calendar-card .mc-fc-event-content small{font-size:9px}
@media(max-width:1100px){.premium-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid-4,.form-grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){body{font-size:14px}.page{padding:12px}.page-heading,.page-header{align-items:flex-start;flex-direction:column;min-height:0;padding:14px 16px}.page-heading>div:last-child,.page-header>div:last-child{width:100%}.page-heading .btn,.page-header .btn{flex:1}.form-grid,.form-grid-3,.form-grid-4{grid-template-columns:1fr}.global-filters,.patient-filters,.filter-bar{display:grid;grid-template-columns:1fr 1fr}.global-filters input[name=q],.patient-filters input[name=q],.filter-bar input[name=q]{grid-column:1/-1;width:100%}.table-card,.global-list,.responsive-table{max-width:100%;overflow-x:auto}.table-card table,.global-list table,.responsive-table table{min-width:720px}.appointment-toolbar{align-items:stretch;flex-direction:column}.appointment-toolbar label{justify-content:space-between}.fc .fc-toolbar{align-items:stretch;flex-direction:column}.fc .fc-toolbar-chunk{display:flex;justify-content:center}.fc .fc-toolbar-chunk .fc-button{flex:1}.patient-hero,.consultation-hero{align-items:flex-start;flex-direction:column}.hero-actions{margin-left:0;width:100%}}
@media(max-width:480px){.premium-kpis{grid-template-columns:1fr 1fr;gap:8px}.premium-kpi{grid-template-columns:34px 1fr;min-height:70px;padding:10px}.premium-kpi>span{width:34px;height:34px}.premium-kpi strong{font-size:21px}.premium-kpi small{font-size:10.5px}.detail-grid{grid-template-columns:1fr}.global-filters,.patient-filters,.filter-bar{grid-template-columns:1fr}.global-filters input[name=q],.patient-filters input[name=q],.filter-bar input[name=q]{grid-column:auto}.page-heading>div:last-child,.page-header>div:last-child{flex-direction:column}.page-heading .btn,.page-header .btn{width:100%}.card{padding:12px}}
.insurance-navigation{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.insurance-navigation .card{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:12px;margin:0;padding:15px;transition:transform .15s,box-shadow .15s,border-color .15s}.insurance-navigation .card:hover{transform:translateY(-2px);border-color:#bed4ec;box-shadow:var(--mc-shadow-md)}.insurance-navigation .nav-card-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:10px;background:#e8f2ff;color:#0b78f6}.insurance-navigation .card>div{display:flex;flex-direction:column;min-width:0}.insurance-navigation strong{font-size:14px}.insurance-navigation small{margin-top:2px;color:var(--mc-text-muted);font-size:11.5px}.insurance-navigation b{color:#0b78f6;font-size:18px}@media(max-width:900px){.insurance-navigation{grid-template-columns:repeat(2,1fr)}}@media(max-width:520px){.insurance-navigation{grid-template-columns:1fr}}
.coverage-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:16px}.coverage-card{margin:0;padding:0;overflow:hidden}.coverage-card.primary{border-top:3px solid var(--mc-primary)}.coverage-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px 16px 12px;border-bottom:1px solid #e9eef5;background:#fbfdff}.coverage-card h2{margin:5px 0 2px;font-size:17px}.coverage-card header p{margin:0;color:var(--mc-text-muted);font-size:12px}.coverage-kind{display:inline-flex;padding:3px 7px;border-radius:999px;background:#e5efff;color:#175da8;font-size:10.5px;font-weight:750}.coverage-card.primary .coverage-kind{background:#dff5eb;color:#116b49}.coverage-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:#e9eef5}.coverage-facts>div{padding:11px 13px;background:#fff}.coverage-facts small{display:block;color:var(--mc-text-muted);font-size:11px}.coverage-facts strong{display:block;margin-top:2px;font-size:13px;overflow-wrap:anywhere}.coverage-actions{display:flex;align-items:center;flex-wrap:wrap;gap:7px;padding:12px 16px;background:#f8fafc}.coverage-actions form{margin:0}.coverage-actions details{position:relative}.coverage-actions summary{list-style:none;cursor:pointer}.coverage-documents{position:absolute;right:0;z-index:8;width:min(430px,85vw);margin-top:7px;padding:14px;border:1px solid #d8e2ef;border-radius:10px;background:#fff;box-shadow:0 14px 35px rgba(20,51,88,.16)}@media(max-width:1100px){.coverage-grid{grid-template-columns:1fr}}@media(max-width:580px){.coverage-facts{grid-template-columns:repeat(2,1fr)}.coverage-card>header{flex-direction:column}.coverage-actions>.btn,.coverage-actions>form,.coverage-actions>form .btn,.coverage-actions>details,.coverage-actions>details>summary{width:100%}}
