@import "https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,400;12..96,500;12..96,600;12..96,700&family=DM+Sans:opsz,wght@9..40,400;9..40,500;9..40,600;9..40,700&display=swap";:root{--green:#12382f;--green2:#1f5145;--beige:#efe6d2;--gold:#c9a44c;--paper:#fbfaf7;--muted:#6b7280;--border:#e7dfcf;--danger:#a23b3b}*{box-sizing:border-box}body{background:var(--paper);color:#24302d;margin:0;font-family:Inter,Arial,sans-serif}button,input,select{font:inherit}.login-page{background:linear-gradient(135deg,var(--green),#0b221d);justify-content:center;align-items:center;min-height:100vh;display:flex}.login-card{background:#fff;border-radius:28px;flex-direction:column;gap:12px;width:410px;padding:32px;display:flex;box-shadow:0 24px 70px #0006}.login-card h1{text-align:center;color:var(--green);margin:6px 0 0}.login-card p{text-align:center;color:var(--muted);margin:0 0 12px}.login-card input,.field input,.field select,.search input{border:1px solid var(--border);background:#fff;border-radius:14px;padding:12px}.primary{background:var(--green);color:#fff;cursor:pointer;border:0;border-radius:14px;justify-content:center;align-items:center;gap:8px;padding:13px 18px;font-weight:700;display:inline-flex}.primary:hover{background:var(--green2)}.small{padding:9px 12px}.error{color:var(--danger);background:#fff1f1;border:1px solid #f1c7c7;border-radius:14px;padding:10px}.app-shell{min-height:100vh;display:flex}.sidebar{background:var(--green);color:#fff;flex-direction:column;gap:18px;width:270px;height:100vh;padding:20px;display:flex;position:fixed}.side-logo{background:0 0;width:190px;margin:0 auto 8px;display:block}.sidebar nav{flex-direction:column;gap:8px;display:flex}.sidebar button{color:#f7f2e7;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:14px;align-items:center;gap:10px;padding:12px;display:flex}.sidebar button.active,.sidebar button:hover{background:#ffffff18}.logout{margin-top:auto!important}.main{flex:1;margin-left:270px;padding:24px}.main header{border:1px solid var(--border);background:#fff;border-radius:24px;margin-bottom:20px;padding:18px 22px;box-shadow:0 8px 24px #0e382d0d}.main h2{color:var(--green);margin:0}.main header span{color:var(--muted)}.grid.cards{grid-template-columns:repeat(4,minmax(160px,1fr));gap:16px;margin-bottom:18px;display:grid}.card,.panel{border:1px solid var(--border);background:#fff;border-radius:24px;box-shadow:0 8px 24px #0e382d0d}.card span{color:var(--muted);margin-bottom:12px;display:block}.card strong{color:var(--green);font-size:24px}.panel{padding:20px;overflow:auto}.toolbar{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.search{border:1px solid var(--border);background:#fff;border-radius:14px;align-items:center;gap:8px;min-width:280px;padding-left:10px;display:flex}.search input{border:0;outline:0;width:100%}table{border-collapse:collapse;background:#fff;border-radius:18px;width:100%;overflow:hidden}th,td{border-bottom:1px solid var(--border);text-align:left;padding:13px;font-size:14px}th{color:var(--green);background:#f8f3e8}td a{color:var(--green);font-weight:700}.modal-bg{z-index:20;background:#0008;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:#fff;border-radius:24px;width:min(820px,92vw);max-height:90vh;padding:22px;overflow:auto}.modal-head{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.modal-head h3{color:var(--green);margin:0}.modal-head button{cursor:pointer;background:#f2eee3;border:0;border-radius:50%;width:34px;height:34px;font-size:22px}.form-grid{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}.field{flex-direction:column;gap:6px;display:flex}.field span{color:var(--muted);font-size:13px}.form-grid .error,.form-grid .primary{grid-column:1/-1}.tabs{gap:8px;margin-bottom:14px;display:flex}.tabs button{border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:14px;padding:10px 16px}.tabs button.active{background:var(--green);color:#fff}@media (width<=900px){.sidebar{width:100%;height:auto;position:static}.app-shell{display:block}.main{margin-left:0}.grid.cards{grid-template-columns:1fr 1fr}.form-grid{grid-template-columns:1fr}.side-logo{width:150px}}.linkbtn{color:#083f36;cursor:pointer;background:0 0;border:none;padding:0;font-size:14px;font-weight:700;text-decoration:underline}.linkbtn:hover{opacity:.75}.action-row{flex-wrap:wrap;gap:6px;display:flex}.mini{color:#073b32;cursor:pointer;background:#fffaf0;border:1px solid #d8cdb6;border-radius:10px;padding:6px 9px;font-size:12px;font-weight:700}.mini:hover{filter:brightness(.97)}.mini.danger{color:#9b1c1c;background:#fff1f1;border-color:#f3b5b5}.mini.pay{color:#fff;background:#0c3b31;border-color:#0c3b31}.mini.plan{color:#073b32;background:#d7b56d;border-color:#d7b56d}.sidebar img,aside img,.logo img,.brand img{image-rendering:auto;object-fit:contain;background:#fffaf0;border-radius:14px;padding:10px;box-shadow:0 8px 24px #0000001f;filter:none!important;opacity:1!important}.login-card img,.auth-card img{image-rendering:auto;object-fit:contain;background:#fffaf0;border-radius:14px;padding:10px;filter:none!important;opacity:1!important}.dashboard-wrap{flex-direction:column;gap:18px;display:flex}.kpi-card{background:#fff;border:1px solid #eadfcb;border-radius:22px;padding:20px 22px;box-shadow:0 12px 30px #0000000a}.kpi-card span{color:#5f6876;margin-bottom:10px;font-size:15px;display:block}.kpi-card strong{color:#073b32;font-size:28px;line-height:1.1;display:block}.kpi-card small{color:#7b8490;margin-top:10px;display:block}.kpi-card.highlight{color:#fff;background:linear-gradient(135deg,#0c3b31,#155c4b)}.kpi-card.highlight span,.kpi-card.highlight strong,.kpi-card.highlight small{color:#fff}.dashboard-columns{grid-template-columns:1.4fr 1fr;gap:16px;display:grid}.dashboard-panel h3{color:#073b32;margin-top:0}.muted{color:#6b7280}.radar-list{flex-direction:column;gap:10px;display:flex}.radar-alert,.radar-ok{border-radius:14px;padding:12px 14px;font-weight:600}.radar-alert{color:#5c4200;background:#fff5df;border:1px solid #e8c56d}.radar-ok{color:#0c3b31;background:#eefbf4;border:1px solid #b7e2c8}@media (width<=1100px){.kpi-grid{grid-template-columns:repeat(2,minmax(180px,1fr))}.dashboard-columns{grid-template-columns:1fr}}.logo,.brand{box-shadow:none!important;background:0 0!important;border-radius:0!important;padding:18px 20px 28px!important}.sidebar img,aside img,.logo img,.brand img{width:calc(100% - 28px)!important;max-width:none!important;height:auto!important;box-shadow:none!important;filter:none!important;opacity:1!important;object-fit:contain!important;background:0 0!important;border-radius:0!important;margin:18px auto 34px!important;padding:0!important;display:block!important}.logo,.brand,.sidebar-logo,.logo-box{width:100%!important;box-shadow:none!important;background:0 0!important;border-radius:0!important;margin:0!important;padding:0!important}.sidebar,aside{background:#0c3b31!important;padding-left:12px!important;padding-right:12px!important}aside img,.sidebar img,nav img,img[src*=logo],img[src*=studiovida],img[src*=StudioVida]{width:100%!important;min-width:100%!important;max-width:100%!important;height:auto!important;box-shadow:none!important;object-fit:contain!important;filter:none!important;opacity:1!important;background:0 0!important;border-radius:0!important;margin:0 auto 36px!important;padding:0!important;display:block!important}aside>div:first-child,.sidebar>div:first-child,.logo,.brand,.sidebar-logo,.logo-box{width:100%!important;max-width:100%!important;box-shadow:none!important;background:0 0!important;border-radius:0!important;margin:0 0 26px!important;padding:0!important}aside,.sidebar{background:#0c3b31!important;padding-left:4px!important;padding-right:4px!important}aside{overflow:visible!important}.report-filters{grid-template-columns:repeat(2,minmax(180px,260px));align-items:end}@media print{aside,.sidebar,nav,button,.tabs,.toolbar{display:none!important}body{background:#fff!important}.content,main{width:100%!important;margin:0!important;padding:0!important}.panel,.kpi-card{break-inside:avoid;box-shadow:none!important}}@media print{.report-print-header img{width:150px!important;max-width:150px!important;height:auto!important;box-shadow:none!important;filter:none!important;opacity:1!important;background:0 0!important;border-radius:0!important;padding:0!important;display:block!important}.report-print-header h2{color:#073b32!important;margin:0!important;font-size:22px!important}.report-print-header{border-bottom:1px solid #ddd!important;align-items:center!important;gap:14px!important;margin-bottom:12px!important;padding-bottom:10px!important;display:flex!important}.report-print-header h2{margin:0!important;font-size:18px!important}.report-print-header p{margin:3px 0 0!important;font-size:12px!important}@page{size:A4 portrait;margin:10mm}aside,.sidebar,nav,button,.toolbar,input,select,textarea,.field,.form-grid,.reports-page>.panel:first-of-type{display:none!important}body{color:#111!important;background:#fff!important}main,.content,.page,.reports-page{width:100%!important;max-width:100%!important;margin:0!important;padding:0!important}.content>.page-header,main>.page-header,.page-title,header{display:none!important}.report-print-header{border-bottom:1px solid #d8d0c0!important;align-items:center!important;gap:12px!important;margin:0 0 12px!important;padding:0 0 10px!important;display:flex!important}.report-print-header img,.report-print-header img[src*=logo],.report-print-header img[src*=studiovida]{object-fit:contain!important;width:82px!important;min-width:82px!important;max-width:82px!important;height:auto!important;box-shadow:none!important;background:0 0!important;border-radius:0!important;margin:0!important;padding:0!important;display:block!important}.report-print-header h2{color:#073b32!important;margin:0!important;font-size:17px!important;line-height:1.2!important}.report-print-header p{color:#444!important;margin:2px 0 0!important;font-size:11px!important}.report-period{color:#073b32!important;font-weight:600!important}.kpi-grid{grid-template-columns:repeat(2,1fr)!important;gap:8px!important;margin-bottom:10px!important;display:grid!important}.kpi-card{box-shadow:none!important;page-break-inside:avoid!important;border:1px solid #ddd!important;border-radius:10px!important;padding:10px 12px!important}.kpi-card span{margin-bottom:4px!important;font-size:11px!important}.kpi-card strong{color:#073b32!important;font-size:20px!important;line-height:1.1!important}.kpi-card small{margin-top:4px!important;font-size:10px!important}.kpi-card.highlight{color:#073b32!important;background:#fff!important}.kpi-card.highlight span,.kpi-card.highlight strong,.kpi-card.highlight small{color:#073b32!important}.dashboard-columns{display:block!important}.panel,.dashboard-panel{box-shadow:none!important;page-break-inside:avoid!important;border:1px solid #ddd!important;border-radius:10px!important;margin:0 0 10px!important;padding:12px!important}.dashboard-panel h3,.panel h3{color:#073b32!important;margin:0 0 8px!important;font-size:15px!important}table{border-collapse:collapse!important;width:100%!important}th,td{border-bottom:1px solid #ddd!important;padding:6px 5px!important;font-size:10.5px!important}th{color:#073b32!important;background:#f5f0e6!important}}.mini.danger{color:#9b1c1c!important;cursor:pointer!important;background:#fff0f0!important;border:1px solid #ef9a9a!important;border-radius:10px!important;margin-left:6px!important;padding:7px 10px!important;font-weight:700!important}.mini.danger:hover{background:#ffe1e1!important}.patient-history-panel{margin-top:20px!important}.history-header{justify-content:space-between!important;align-items:center!important;gap:16px!important;margin-bottom:16px!important;display:flex!important}.history-header h3{color:#073b32!important;margin:0!important}.history-header p{color:#5f6472!important;margin:4px 0 0!important;font-weight:600!important}.inline-date-field{min-width:190px!important;margin:0!important}.inline-date-field span{color:#5f6472!important;margin-bottom:4px!important;font-size:12px!important}.inline-date-field input{height:38px!important;padding:6px 10px!important}.status-lock{color:#5f6472!important;background:#f5f0e6!important;border:1px solid #e2d7c1!important;border-radius:10px!important;margin-right:6px!important;padding:7px 10px!important;font-weight:700!important;display:inline-block!important}.payment-lock{color:#073b32!important;white-space:nowrap!important;background:#e7f5ee!important;border:1px solid #b8dfcc!important;border-radius:10px!important;padding:7px 10px!important;font-weight:800!important;display:inline-block!important}.inline-form-card{background:#fff!important;border:1px solid #eadfca!important;border-radius:22px!important;margin:16px 0 20px!important;padding:18px!important;box-shadow:0 8px 24px #0000000a!important}.inline-form-card h3{color:#073b32!important;margin:0 0 14px!important}.field select{background:#fff!important;border:1px solid #eadfca!important;border-radius:14px!important;width:100%!important;height:46px!important;padding:8px 12px!important;font-size:15px!important}.form-actions{grid-column:1/-1!important;align-items:center!important;gap:10px!important;display:flex!important}.schedule-board{background:#fffdf9!important;border:1px solid #eadfca!important;border-radius:22px!important;margin:16px 0 20px!important;padding:16px!important}.schedule-title-row{justify-content:space-between!important;align-items:center!important;margin-bottom:12px!important;display:flex!important}.schedule-title-row h3{color:#073b32!important;margin:0!important}.schedule-title-row p{color:#5f6472!important;margin:4px 0 0!important}.schedule-grid{gap:6px!important;display:grid!important;overflow-x:auto!important}.schedule-head{color:#073b32!important;text-align:center!important;z-index:1!important;background:#f7f1e6!important;border-radius:12px!important;padding:10px!important;font-weight:800!important;position:sticky!important;top:0!important}.schedule-time{color:#073b32!important;text-align:center!important;background:#fff!important;border:1px solid #eadfca!important;border-radius:12px!important;padding:10px!important;font-weight:800!important}.slot{text-align:left!important;cursor:pointer!important;border:1px solid #eadfca!important;border-radius:12px!important;min-height:62px!important;padding:8px!important}.slot strong{font-size:13px!important;display:block!important}.slot small{margin-top:2px!important;font-size:11px!important;display:block!important}.slot.free{color:#073b32!important;background:#e9f8f0!important;border-color:#b8dfcc!important}.slot.free:hover{background:#d7f0e4!important}.slot.busy{color:#8a1c1c!important;cursor:not-allowed!important;background:#fff0f0!important;border-color:#efb6b6!important}.section-subtitle{color:#073b32!important;margin:18px 0 10px!important}.inline-filter-field{min-width:180px!important;margin:0!important}.inline-filter-field span{color:#5f6472!important;margin-bottom:4px!important;font-size:12px!important}.inline-filter-field select{background:#fff!important;border:1px solid #eadfca!important;border-radius:14px!important;height:38px!important;padding:6px 10px!important}.small-filter{min-width:130px!important}.agenda-warning{color:#7a4b00!important;background:#fff7e6!important;border:1px solid #f2ce8f!important;border-radius:14px!important;margin-bottom:12px!important;padding:10px 12px!important;font-weight:700!important}.agenda-info{color:#073b32!important;background:#e9f8f0!important;border:1px solid #b8dfcc!important;border-radius:14px!important;margin-bottom:12px!important;padding:10px 12px!important;font-weight:700!important}.schedule-board{overflow-x:auto!important}.schedule-grid{min-width:max-content!important}td .mini,td .payment-lock,td .status-lock{margin:3px!important}td{vertical-align:middle!important}.section-subtitle{align-items:center!important;gap:8px!important;display:flex!important}.modal-backdrop{z-index:9999;background:#0000008c;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{background:#fff;border-radius:12px;flex-direction:column;gap:8px;width:100%;max-width:480px;max-height:90vh;padding:24px;display:flex;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.modal h3{color:#2d3748;margin:0 0 12px;font-size:20px}.modal label{color:#4a5568;margin-top:6px;font-size:13px;font-weight:600}.modal input,.modal select,.modal textarea{background:#fafbfc;border:1px solid #e2e8f0;border-radius:8px;width:100%;padding:10px 12px;font-family:inherit;font-size:14px;transition:all .2s}.modal input:focus,.modal select:focus,.modal textarea:focus{background:#fff;border-color:#6366f1;outline:none;box-shadow:0 0 0 3px #6366f126}.modal input:disabled{color:#94a3b8;cursor:not-allowed;background:#f1f5f9}.modal textarea{resize:vertical;min-height:70px}.modal .error{color:#c53030;background:#fee;border-left:3px solid #c53030;border-radius:8px;margin-top:8px;padding:10px 12px;font-size:14px}.modal-actions{border-top:1px solid #e2e8f0;justify-content:flex-end;gap:10px;margin-top:16px;padding-top:12px;display:flex}.modal-actions button{cursor:pointer;background:#fff;border:1px solid #cbd5e0;border-radius:8px;padding:10px 20px;font-size:14px;font-weight:600;transition:all .2s}.modal-actions button:hover:not(:disabled){background:#f7fafc;border-color:#94a3b8}.modal-actions button.primary{color:#fff;background:#6366f1;border-color:#6366f1}.modal-actions button.primary:hover:not(:disabled){background:#4f46e5;border-color:#4f46e5}.modal-actions button:disabled{opacity:.6;cursor:not-allowed}button.mini{color:#4338ca;cursor:pointer;background:#e0e7ff;border:1px solid #c7d2fe;border-radius:6px;margin:0 2px;padding:4px 10px;font-size:12px;font-weight:600;transition:all .15s}button.mini:hover{background:#c7d2fe}.data-table{border-collapse:separate;border-spacing:0;background:#fff;border-radius:8px;width:100%;overflow:hidden;box-shadow:0 1px 3px #0000000f}.data-table th{text-align:left;color:#475569;background:#f8fafc;border-bottom:1px solid #e2e8f0;padding:12px;font-size:13px;font-weight:600}.data-table td{border-bottom:1px solid #f1f5f9;padding:12px;font-size:14px}.data-table tr:last-child td{border-bottom:none}.data-table button{margin-right:4px;padding:4px 10px;font-size:12px}.dashboard-wrap{flex-direction:column;gap:20px;padding:20px;display:flex}.dash-welcome{color:#fff;background:linear-gradient(135deg,#6366f1 0%,#8b5cf6 100%);border-radius:14px;justify-content:space-between;align-items:flex-start;padding:24px 28px;display:flex;box-shadow:0 4px 20px #6366f140}.dash-welcome h2{margin:0;font-size:26px;font-weight:700}.dash-welcome p{opacity:.92;margin:6px 0 0;font-size:14px}.dash-welcome button{color:#fff;cursor:pointer;background:#fff3;border:1px solid #fff6;border-radius:6px;padding:6px 14px;font-size:13px;font-weight:600}.dash-welcome button:hover{background:#ffffff59}.kpi-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;display:grid}.kpi-card{background:#fff;border-left:4px solid #6366f1;border-radius:12px;flex-direction:column;gap:6px;padding:20px;transition:transform .15s,box-shadow .15s;display:flex;box-shadow:0 1px 3px #00000014}.kpi-card:hover{transform:translateY(-2px);box-shadow:0 6px 16px #0000001a}.kpi-card span{color:#64748b;text-transform:uppercase;letter-spacing:.3px;font-size:13px;font-weight:600}.kpi-card strong{color:#1e293b;font-size:28px;font-weight:700}.kpi-card small.pos{color:#10b981;font-weight:600}.kpi-card small.neg{color:#ef4444;font-weight:600}.kpi-card.kpi-revenue{border-left-color:#10b981}.kpi-card.kpi-appts{border-left-color:#6366f1}.kpi-card.kpi-week{border-left-color:#06b6d4}.kpi-card.kpi-receivables{border-left-color:#f59e0b}.dash-charts-row{grid-template-columns:2fr 1fr;gap:16px;display:grid}.dash-charts-row .chart-wide{grid-column:span 1}@media (width<=1024px){.dash-charts-row{grid-template-columns:1fr}}.dash-chart-card{background:#fff;border-radius:12px;padding:20px;box-shadow:0 1px 3px #00000014}.dash-chart-card h4{color:#334155;margin:0 0 16px;font-size:15px;font-weight:600}.dash-noshow-stats{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:14px;margin-top:8px;display:grid}.ns-stat{text-align:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:18px 12px}.ns-stat .ns-num{color:#1e293b;font-size:32px;font-weight:700;display:block}.ns-stat .ns-label{color:#475569;margin-top:2px;font-size:13px;font-weight:600;display:block}.ns-stat small{color:#94a3b8;margin-top:4px;font-size:11px;display:block}.ns-stat.ok{background:#ecfdf5;border-color:#a7f3d0}.ns-stat.ok .ns-num{color:#10b981}.ns-stat.warn{background:#fffbeb;border-color:#fde68a}.ns-stat.warn .ns-num{color:#f59e0b}.ns-stat.danger{background:#fef2f2;border-color:#fecaca}.ns-stat.danger .ns-num{color:#ef4444}.finance-filters{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;margin-bottom:16px;padding:14px 16px}.finance-filters .filter-row{flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:10px;display:flex}.finance-filters .filter-row:last-child{margin-bottom:0}.filter-field{flex-direction:column;gap:4px;min-width:130px;display:flex}.filter-field label{color:#64748b;text-transform:uppercase;letter-spacing:.4px;font-size:11px;font-weight:700}.filter-field select,.filter-field input{background:#fff;border:1px solid #d1d5db;border-radius:6px;padding:7px 10px;font-size:13px}.filter-field select:focus,.filter-field input:focus{border-color:#6366f1;outline:none;box-shadow:0 0 0 3px #6366f11f}tfoot tr.filter-total-row{background:#f8fafc;font-weight:600}tfoot tr.filter-total-row td{border-top:2px solid #6366f1;padding:12px;font-size:14px}.cash-tabs{border-bottom:2px solid #e2e8f0;gap:4px;margin-bottom:16px;display:flex}.cash-tabs button{color:#64748b;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-2px;padding:10px 18px;font-size:14px;font-weight:600;transition:all .15s}.cash-tabs button:hover{color:#6366f1}.cash-tabs button.active{color:#6366f1;border-bottom-color:#6366f1}.agenda-view-toggle{border-bottom:2px solid #e2e8f0;gap:4px;margin-bottom:16px;display:flex}.agenda-view-toggle button{color:#64748b;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:6px;margin-bottom:-2px;padding:10px 18px;font-size:14px;font-weight:600;transition:all .15s;display:flex}.agenda-view-toggle button:hover{color:#6366f1}.agenda-view-toggle button.active{color:#6366f1;border-bottom-color:#6366f1}.week-agenda{--slot-h:28px;background:#fff;border-radius:12px;padding:16px;box-shadow:0 1px 3px #00000014}.week-nav{align-items:center;gap:8px;margin-bottom:12px;display:flex}.week-nav strong{color:#334155;font-size:15px}.week-filters{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;display:flex}.week-filters select{background:#fff;border:1px solid #d1d5db;border-radius:6px;min-width:200px;padding:7px 12px;font-size:13px}.week-grid{background:#e2e8f0;border:1px solid #e2e8f0;border-radius:8px;grid-template-rows:auto 1fr;grid-template-columns:60px repeat(5,1fr);gap:1px;display:grid;overflow:hidden}.wg-empty{background:#f8fafc;grid-area:1/1}.wg-day-header{text-align:center;background:#f8fafc;flex-direction:column;grid-row:1;gap:2px;padding:10px 8px;display:flex}.wg-day-header.today{color:#fff;background:linear-gradient(135deg,#6366f1,#8b5cf6)}.wg-day-header .wg-weekday{text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:700}.wg-day-header .wg-day-num{font-size:16px;font-weight:600}.wg-hours{grid-template-rows:repeat(24, var(--slot-h));background:#fafbfc;grid-area:2/1;display:grid}.wg-hour-cell{color:#64748b;text-align:right;border-bottom:1px dashed #e2e8f0;padding:2px 6px;font-size:11px;font-weight:600}.wg-hour-cell.half{border-bottom:none}.wg-day-col{grid-template-rows:repeat(24, var(--slot-h));background:#fff;grid-row:2;display:grid;position:relative}.wg-day-col.today{background:linear-gradient(#fffce8 0%,#fefce8 100%)}.wg-slot{cursor:pointer;z-index:1;border-bottom:1px dashed #e2e8f0;transition:background .1s}.wg-slot:nth-child(odd){border-bottom-style:dashed}.wg-slot:hover{background:#6366f10f}.wg-appt{cursor:pointer;z-index:2;border-left:3px solid #6366f1;border-radius:5px;flex-direction:column;gap:1px;margin:1px 3px;padding:4px 6px;font-size:11px;line-height:1.3;transition:transform .1s,box-shadow .1s;display:flex;overflow:hidden}.wg-appt:hover{z-index:10;transform:scale(1.02);box-shadow:0 2px 6px #00000026}.wg-appt-time{color:#334155;font-size:10px;font-weight:700}.wg-appt-patient{color:#1e293b;white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.wg-appt-meta{color:#64748b;white-space:nowrap;text-overflow:ellipsis;font-size:10px;overflow:hidden}.wg-appt.status-cancelled{opacity:.5;text-decoration:line-through}.wg-appt.status-attended{background:#d1fae5!important}.wg-appt.status-missed{background:#fee2e2!important}.wg-now-line{z-index:5;pointer-events:none;background:#ef4444;height:2px;position:absolute;left:0;right:0}.wg-now-line:before{content:"";background:#ef4444;border-radius:50%;width:12px;height:12px;position:absolute;top:-5px;left:-6px;box-shadow:0 0 0 3px #ef444433}.wg-now-line span{color:#fff;background:#ef4444;border-radius:4px;padding:1px 6px;font-size:10px;font-weight:700;position:absolute;top:-8px;left:8px}.week-legend{color:#64748b;background:#f8fafc;border-radius:8px;flex-wrap:wrap;align-items:center;gap:12px;margin-top:14px;padding:10px 14px;font-size:12px;display:flex}.legend-dot{color:#334155;background:#fff;border-left:3px solid #6366f1;border-radius:3px;align-items:center;padding:2px 8px;font-weight:600;display:inline-flex}.appt-detail{color:#334155;background:#f8fafc;border-radius:8px;flex-direction:column;gap:8px;padding:14px;font-size:14px;display:flex}.appt-detail strong{color:#475569;min-width:100px;font-weight:600;display:inline-block}.modal-actions button.danger{color:#b91c1c;background:#fee2e2;border-color:#fca5a5}.modal-actions button.danger:hover{background:#fecaca;border-color:#f87171}@media (width<=900px){.week-grid{grid-template-columns:50px repeat(5,minmax(80px,1fr));overflow-x:auto}.wg-appt-meta{display:none}}.dossier-wrap{flex-direction:column;gap:18px;padding:20px;display:flex}.dossier-header{justify-content:space-between;align-items:center;display:flex}.dossier-back{cursor:pointer;color:#64748b;background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:8px 14px;font-size:14px;font-weight:600;transition:all .15s}.dossier-back:hover{color:#6366f1;background:#f1f5f9}.dossier-actions{gap:8px;display:flex}.dossier-patient-card{color:#fff;background:linear-gradient(135deg,#6366f1 0%,#8b5cf6 100%);border-radius:14px;align-items:flex-start;gap:18px;padding:22px 26px;display:flex;box-shadow:0 4px 20px #6366f133}.dossier-patient-avatar{background:#ffffff40;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:70px;height:70px;font-size:32px;font-weight:700;display:flex}.dossier-patient-info{flex:1}.dossier-patient-info h2{margin:0 0 6px;font-size:22px;font-weight:700}.dossier-patient-meta{opacity:.92;flex-wrap:wrap;gap:14px;font-size:13px;display:flex}.dossier-patient-notes{background:#ffffff26;border-radius:6px;margin-top:10px;padding:8px 12px;font-size:13px;font-style:italic}.dossier-kpis{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;display:grid}.dossier-kpi{background:#fff;border-left:4px solid #6366f1;border-radius:10px;flex-direction:column;gap:4px;padding:16px;display:flex;box-shadow:0 1px 3px #00000014}.dossier-kpi span{color:#64748b;text-transform:uppercase;letter-spacing:.3px;font-size:12px;font-weight:600}.dossier-kpi strong{color:#1e293b;font-size:26px;font-weight:700}.dossier-kpi.attended{border-left-color:#10b981}.dossier-kpi.scheduled{border-left-color:#6366f1}.dossier-kpi.missed{border-left-color:#ef4444}.dossier-kpi.paid{border-left-color:#10b981}.dossier-kpi.pending{border-left-color:#f59e0b}.dossier-kpi.visit{border-left-color:#06b6d4}.dossier-card{background:#fff;border-radius:12px;padding:22px;box-shadow:0 1px 3px #00000014}.dossier-card h3{color:#334155;margin:0 0 16px;font-size:16px;font-weight:700}.timeline{padding-left:24px;position:relative}.timeline:before{content:"";background:#e2e8f0;width:2px;position:absolute;top:0;bottom:0;left:7px}.timeline-item{padding:10px 0 18px 18px;position:relative}.timeline-dot{border:3px solid #fff;border-radius:50%;width:14px;height:14px;position:absolute;top:14px;left:-22px;box-shadow:0 0 0 1px #e2e8f0}.timeline-content{background:#f8fafc;border-left:3px solid #e2e8f0;border-radius:8px;padding:12px 14px}.timeline-item.status-attended .timeline-content{background:#f0fdf4;border-left-color:#10b981}.timeline-item.status-missed .timeline-content{background:#fef2f2;border-left-color:#ef4444}.timeline-item.status-cancelled .timeline-content{opacity:.6;border-left-color:#94a3b8}.timeline-head{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:5px;display:flex}.timeline-head strong{color:#1e293b;font-size:14px}.timeline-time{color:#64748b;font-size:12px;font-weight:600}.timeline-status{border-radius:10px;padding:2px 8px;font-size:11px;font-weight:700}.timeline-body{color:#475569;font-size:13px}.timeline-notes{color:#64748b;background:#ffffffb3;border-radius:5px;margin-top:6px;padding:6px 10px;font-size:12px;font-style:italic}.alerts-bar{flex-direction:column;gap:10px;display:flex}.alert-card{background:#fff;border-left:4px solid #6366f1;border-radius:10px;align-items:center;gap:14px;padding:14px 18px;transition:transform .15s;animation:.3s ease-out slideIn;display:flex;box-shadow:0 1px 3px #00000014}.alert-card:hover{transform:translate(2px)}@keyframes slideIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.alert-icon{flex-shrink:0;font-size:26px}.alert-content{flex:1}.alert-content strong{color:#1e293b;margin-bottom:2px;font-size:15px;display:block}.alert-content p{color:#64748b;margin:0;font-size:13px;line-height:1.4}.alert-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.alert-card.alert-danger{background:linear-gradient(90deg,#fef2f2 0%,#fff 30%);border-left-color:#ef4444}.alert-card.alert-danger .alert-content strong{color:#b91c1c}.alert-card.alert-warning{background:linear-gradient(90deg,#fffbeb 0%,#fff 30%);border-left-color:#f59e0b}.alert-card.alert-warning .alert-content strong{color:#a16207}.alert-card.alert-info{background:linear-gradient(90deg,#ecfeff 0%,#fff 30%);border-left-color:#06b6d4}.alert-dismiss{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px 8px;font-size:18px;line-height:1;transition:all .15s}.alert-dismiss:hover{color:#475569;background:#f1f5f9}@media (width<=700px){.alert-card{flex-wrap:wrap}.alert-content{flex-basis:100%}}.attachments-list{flex-direction:column;gap:10px;display:flex}.attachment-item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;align-items:center;gap:14px;padding:12px 14px;transition:all .15s;display:flex}.attachment-item:hover{background:#fff;border-color:#c7d2fe;box-shadow:0 2px 6px #6366f114}.attachment-icon{flex-shrink:0;font-size:30px}.attachment-info{flex:1;min-width:0}.attachment-name{color:#1e293b;white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.attachment-meta{color:#64748b;flex-wrap:wrap;gap:6px;margin-top:2px;font-size:12px;display:flex}.attachment-cat{color:#6366f1;background:#eef2ff;border-radius:8px;padding:1px 8px;font-size:11px;font-weight:700}.attachment-desc{color:#475569;margin-top:4px;font-size:12px;font-style:italic}.attachment-actions{flex-shrink:0;gap:6px;display:flex}.attachment-actions button{cursor:pointer;padding:6px 10px;font-size:14px}.med-records-list{flex-direction:column;gap:14px;display:flex}.med-record-item{background:#fff;border:1px solid #e2e8f0;border-left:4px solid #6366f1;border-radius:10px;padding:14px 16px;transition:box-shadow .15s}.med-record-item:hover{box-shadow:0 2px 8px #0000000f}.med-record-item.type-anamnesis{background:#f0fdf4;border-left-color:#10b981}.med-record-item.type-evolution{border-left-color:#6366f1}.mr-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:10px;display:flex}.mr-title{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.mr-type-badge{color:#4338ca;text-transform:uppercase;letter-spacing:.3px;background:#eef2ff;border-radius:10px;padding:3px 10px;font-size:11px;font-weight:700}.mr-type-badge.type-anamnesis{color:#065f46;background:#d1fae5}.mr-type-badge.type-evolution{color:#4338ca;background:#eef2ff}.mr-type-badge.type-errata{color:#92400e;background:#fef3c7}.mr-date{color:#64748b;font-size:12px;font-weight:600}.mr-locked{color:#94a3b8;background:#f1f5f9;border-radius:8px;padding:2px 8px;font-size:11px;font-weight:600}.mr-author{color:#64748b;font-size:12px}.mr-content{flex-direction:column;gap:10px;display:flex}.mr-field{font-size:13px}.mr-field span{color:#475569;text-transform:uppercase;letter-spacing:.4px;margin-bottom:2px;font-size:11px;font-weight:700;display:block}.mr-field div{color:#1e293b;white-space:pre-wrap;line-height:1.5}.mr-actions{border-top:1px dashed #e2e8f0;gap:6px;margin-top:12px;padding-top:10px;display:flex}.mr-errata{background:#fffbeb;border-left:3px solid #f59e0b;border-radius:6px;margin-top:12px;padding:10px 12px}.mr-errata-header{color:#92400e;margin-bottom:8px;font-size:12px}.mr-errata .mr-field{font-size:12px}.mr-errata .mr-field div{color:#451a03}.link-button{color:#6366f1;cursor:pointer;background:0 0;border:none;align-self:center;width:auto;margin-top:4px;padding:6px 8px;font-size:13px;font-weight:600;text-decoration:underline}.link-button:hover{color:#4338ca}.success-msg{color:#15803d;background:#dcfce7;border-left:4px solid #10b981;border-radius:6px;margin:8px 0;padding:10px 14px;font-size:13px}.info-msg{color:#1e40af;background:#dbeafe;border-left:4px solid #3b82f6;border-radius:6px;margin:8px 0;padding:10px 14px;font-size:13px}button.small.danger{color:#b91c1c;background:#fee2e2;border-color:#fca5a5}button.small.danger:hover{background:#fecaca;border-color:#f87171}.perm-grid{background:#fff;border:1px solid #e2e8f0;border-radius:10px;grid-template-columns:repeat(2,1fr);gap:16px;padding:14px;display:grid}.perm-category{background:#f8fafc;border-radius:8px;padding:10px 12px}.perm-cat-title{color:#4338ca;border-bottom:1px solid #c7d2fe;margin-bottom:8px;padding-bottom:6px;font-size:13px;font-weight:700}.perm-row{cursor:pointer;border-radius:4px;align-items:center;gap:8px;padding:5px 4px;font-size:13px;transition:background .1s;display:flex}.perm-row input[type=checkbox]{cursor:pointer;flex-shrink:0;width:16px;height:16px;margin:0}.perm-label{color:#1e293b;line-height:1.3}@media (width<=700px){.perm-grid{grid-template-columns:1fr}}:root{--forest-950:#021f2c;--forest-900:#012837;--forest-800:#033649;--forest-700:#0a4a60;--forest-600:#0f6079;--forest-100:#d8e8ee;--forest-50:#ecf3f6;--cream-50:#fbf9f3;--cream-100:#f5f0e3;--cream-200:#ebe4d0;--cream-300:#d8ceb2;--gold-600:#9d7438;--gold-500:#c8a35a;--gold-400:#d4ad6a;--ink-950:#0f1411;--ink-900:#1a201d;--ink-700:#3d443f;--ink-500:#6b736e;--ink-400:#919791;--ink-300:#b8bdb8;--ink-200:#d8dcd8;--ink-100:#e8ebe9;--ink-50:#f5f6f5;--bg:var(--cream-50);--surface:#fff;--border-soft:#ece6d6;--border-medium:#ddd4be;--danger-bg:#fdf2f1;--danger-fg:#a3382c;--danger-border:#e9c7c2;--success-bg:#ecf4ef;--success-fg:#1e6a4c;--font-display:"Bricolage Grotesque", system-ui, sans-serif;--font-body:"DM Sans", system-ui, sans-serif;--shadow-xs:0 1px 1px #0f2a2308;--shadow-sm:0 1px 2px #0f2a230d, 0 1px 1px #0f2a2308;--shadow-md:0 2px 6px #0f2a230f, 0 1px 2px #0f2a230a;--shadow-lg:0 8px 24px #0f2a2314, 0 2px 6px #0f2a230a;--shadow-xl:0 20px 50px #0f2a2326, 0 6px 18px #0f2a2314;--radius-xs:4px;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px}*,:before,:after{box-sizing:border-box}body{font-family:var(--font-body)!important;background:var(--bg)!important;color:var(--ink-900)!important;letter-spacing:-.01em!important;-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale!important;font-size:14px!important;line-height:1.5!important}h1,h2,h3,h4,h5,h6{font-family:var(--font-display)!important;letter-spacing:-.02em!important;color:var(--forest-900)!important;margin-top:0!important;font-weight:600!important}.app-shell{background:var(--bg)!important}.sidebar{background:var(--forest-950)!important;background-image:linear-gradient(#012837 0%,#021f2c 100%)!important;border-right:1px solid #ffffff0a!important;gap:2px!important;width:218px!important;padding:18px 10px!important}.side-logo{opacity:.95;width:132px!important;margin:0 auto 14px!important}.sidebar nav{gap:1px!important}.sidebar button{letter-spacing:-.005em;position:relative;color:#ffffffa6!important;background:0 0!important;border-radius:8px!important;align-items:center!important;gap:10px!important;margin:0!important;padding:9px 12px!important;font-size:13px!important;font-weight:500!important;transition:all .15s!important;display:flex!important}.sidebar button:hover{color:#ffffffeb!important;background:#ffffff0a!important}.sidebar button.active{color:#fff!important;background:#ffffff14!important;font-weight:600!important}.sidebar button.active:before{content:"";background:var(--gold-400);border-radius:0 3px 3px 0;width:3px;height:22px;position:absolute;top:50%;left:-10px;transform:translateY(-50%)}.sidebar svg{opacity:.7;width:16px!important;height:16px!important}.sidebar button.active svg,.sidebar button:hover svg{opacity:1}.logout{border-top:1px solid #ffffff0f!important;margin-top:auto!important;padding-top:8px!important}.main{min-height:100vh;background:var(--bg)!important;margin-left:218px!important;padding:18px 22px!important}.main header{position:relative;overflow:hidden;background:var(--surface)!important;border:1px solid var(--border-soft)!important;border-radius:var(--radius-lg)!important;box-shadow:var(--shadow-xs)!important;margin-bottom:14px!important;padding:12px 18px!important}.main header:before{content:"";background:linear-gradient(180deg, var(--forest-700), var(--gold-500));border-radius:0 3px 3px 0;width:3px;position:absolute;top:12px;bottom:12px;left:0}.main header h2{letter-spacing:-.025em!important;color:var(--forest-900)!important;font-size:18px!important;font-weight:600!important}.main header span{font-weight:400;color:var(--ink-500)!important;font-size:12px!important}.card,.panel{background:var(--surface)!important;border:1px solid var(--border-soft)!important;border-radius:var(--radius-lg)!important;box-shadow:var(--shadow-xs)!important;transition:box-shadow .2s,border-color .2s!important}.card{padding:14px 16px!important}.card:hover{border-color:var(--border-medium)!important;box-shadow:var(--shadow-md)!important}.card span{color:var(--ink-500)!important;text-transform:uppercase!important;letter-spacing:.06em!important;font-size:11px!important;font-weight:600!important;font-family:var(--font-display)!important;margin-bottom:6px!important;display:block!important}.card strong{display:block;font-family:var(--font-display)!important;color:var(--forest-900)!important;letter-spacing:-.03em!important;font-size:22px!important;font-weight:600!important}.panel{padding:14px 16px!important}.grid.cards{grid-template-columns:repeat(4,minmax(140px,1fr))!important;gap:10px!important;margin-bottom:14px!important}.toolbar{gap:10px!important;margin-bottom:12px!important}.search{transition:border-color .15s,box-shadow .15s;border:1px solid var(--border-soft)!important;border-radius:var(--radius-md)!important;background:var(--surface)!important;min-width:260px!important;padding-left:10px!important}.search:focus-within{border-color:var(--forest-600)!important;box-shadow:0 0 0 3px #2653451a!important}.search input{background:0 0!important;border:0!important;padding:7px 4px!important;font-size:13px!important}input[type=text],input[type=email],input[type=password],input[type=number],input[type=date],input[type=search],.login-card input,.field input,.field select,select,textarea{font-family:var(--font-body)!important;border:1px solid var(--border-soft)!important;border-radius:var(--radius-md)!important;background:var(--surface)!important;color:var(--ink-900)!important;padding:8px 11px!important;font-size:13px!important;transition:border-color .15s,box-shadow .15s!important}input:focus,select:focus,textarea:focus{border-color:var(--forest-600)!important;outline:none!important;box-shadow:0 0 0 3px #2653451f!important}input::placeholder,textarea::placeholder{color:var(--ink-400)!important}.field{gap:4px!important}.field span{text-transform:uppercase;letter-spacing:.04em;color:var(--ink-500)!important;font-size:11px!important;font-weight:600!important;font-family:var(--font-display)!important}.field select{height:auto!important}label{letter-spacing:-.005em;display:block;font-family:var(--font-display)!important;color:var(--ink-700)!important;margin-top:8px!important;margin-bottom:3px!important;font-size:12px!important;font-weight:600!important}.primary{cursor:pointer;background:var(--forest-800)!important;color:#fff!important;border-radius:var(--radius-md)!important;font-family:var(--font-body)!important;letter-spacing:-.005em!important;text-transform:none!important;border:none!important;align-items:center!important;gap:6px!important;padding:8px 16px!important;font-size:13px!important;font-weight:600!important;transition:all .15s!important;display:inline-flex!important;box-shadow:0 1px 2px #0f2a2326!important}.primary:hover{background:var(--forest-900)!important;transform:translateY(-1px)!important;box-shadow:0 4px 10px #0f2a2333!important}.primary:active{transform:translateY(0)!important;box-shadow:0 1px 2px #0f2a2326!important}.small{border-radius:var(--radius-sm)!important;padding:6px 12px!important;font-size:12px!important}.mini{cursor:pointer;margin-right:3px;transition:all .12s;border-radius:var(--radius-xs)!important;font-size:11px!important;font-weight:500!important;font-family:var(--font-body)!important;border:1px solid var(--border-soft)!important;background:var(--surface)!important;color:var(--ink-700)!important;padding:3px 9px!important}.mini:hover{background:var(--cream-50)!important;border-color:var(--border-medium)!important}.mini.danger{background:var(--danger-bg)!important;border-color:var(--danger-border)!important;color:var(--danger-fg)!important}.mini.danger:hover{background:#f8e5e2!important;border-color:#d8aea6!important}.mini.pay{background:var(--forest-50)!important;border-color:var(--forest-100)!important;color:var(--forest-800)!important}.mini.pay:hover{background:var(--forest-100)!important}button.danger{background:var(--danger-bg)!important;border:1px solid var(--danger-border)!important;color:var(--danger-fg)!important}table{border-spacing:0;overflow:hidden;border-collapse:separate!important;background:var(--surface)!important;border:1px solid var(--border-soft)!important;border-radius:var(--radius-lg)!important;width:100%!important;box-shadow:var(--shadow-xs)!important}thead{background:var(--cream-100)!important}th{white-space:nowrap;font-family:var(--font-display)!important;text-transform:uppercase!important;letter-spacing:.08em!important;color:var(--ink-700)!important;text-align:left!important;background:var(--cream-100)!important;border-bottom:1px solid var(--border-medium)!important;padding:10px 12px!important;font-size:10px!important;font-weight:700!important}td{vertical-align:middle;border-bottom:1px solid var(--cream-200)!important;color:var(--ink-900)!important;padding:9px 12px!important;font-size:13px!important}tbody tr{transition:background .1s}tbody tr:hover{background:var(--cream-50)!important}tbody tr:last-child td{border-bottom:none!important}td a{text-decoration:none;color:var(--forest-700)!important;font-weight:600!important}td a:hover{text-decoration:underline}.modal-bg,.modal-backdrop{z-index:50;justify-content:center;align-items:center;animation:.18s fadeIn;display:flex;-webkit-backdrop-filter:blur(6px)saturate(110%)!important;background:#0a1f1a8c!important;position:fixed!important;inset:0!important}.modal{animation:.22s cubic-bezier(.16,1,.3,1) slideUp;overflow:auto;background:var(--surface)!important;border:1px solid var(--border-soft)!important;border-radius:var(--radius-xl)!important;max-width:720px!important;max-height:88vh!important;box-shadow:var(--shadow-xl)!important;padding:18px 22px!important}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.modal-head h3,.modal h3{font-family:var(--font-display)!important;letter-spacing:-.025em!important;color:var(--forest-900)!important;margin:0 0 12px!important;font-size:17px!important;font-weight:600!important}.modal-head{margin-bottom:14px!important}.modal-head button{transition:all .12s;background:var(--cream-100)!important;border:1px solid var(--border-soft)!important;width:28px!important;height:28px!important;color:var(--ink-700)!important;border-radius:50%!important;font-size:16px!important}.modal-head button:hover{background:var(--cream-200)!important;color:var(--ink-900)!important}.modal-actions{border-top:1px solid var(--border-soft);justify-content:flex-end;gap:8px;padding-top:12px;display:flex;margin-top:16px!important}.form-grid{gap:12px!important}.error{align-items:flex-start;gap:8px;font-weight:500;display:flex;background:var(--danger-bg)!important;color:var(--danger-fg)!important;border:1px solid var(--danger-border)!important;border-radius:var(--radius-md)!important;padding:9px 12px!important;font-size:13px!important}.login-page{background:var(--forest-950)!important;background-image:radial-gradient(ellipse at top left, #b88c4714, transparent 50%), radial-gradient(ellipse at bottom right, #26534526, transparent 50%), linear-gradient(135deg, var(--forest-950), #000)!important}.login-card{background:var(--surface)!important;border:1px solid var(--border-soft)!important;border-radius:var(--radius-xl)!important;gap:8px!important;width:380px!important;padding:28px!important;box-shadow:0 30px 80px #0006,0 4px 12px #0003!important}.login-logo{width:150px!important;margin:0 auto 6px!important}.login-card h1{text-align:center;font-family:var(--font-display)!important;letter-spacing:-.025em!important;margin:4px 0 0!important;font-size:19px!important;font-weight:600!important}.login-card p{text-align:center;color:var(--ink-500)!important;margin:0 0 10px!important;font-size:12px!important}.tabs{border-bottom:1px solid var(--border-soft);padding-bottom:0;display:flex;gap:4px!important;margin-bottom:12px!important}.tabs button{cursor:pointer;letter-spacing:-.005em;margin-bottom:-1px;transition:all .15s;font-size:12px!important;font-weight:600!important;font-family:var(--font-body)!important;color:var(--ink-500)!important;background:0 0!important;border:none!important;border-bottom:2px solid #0000!important;border-radius:0!important;padding:8px 14px!important}.tabs button:hover{color:var(--forest-700)!important}.tabs button.active{color:var(--forest-900)!important;border-bottom-color:var(--gold-500)!important;background:0 0!important}.dashboard-wrap{gap:14px!important}.kpi-grid{gap:10px!important}.kpi-card{transition:all .2s;background:var(--surface)!important;border:1px solid var(--border-soft)!important;border-radius:var(--radius-lg)!important;box-shadow:var(--shadow-xs)!important;padding:12px 14px!important}.kpi-card:hover{border-color:var(--border-medium)!important;box-shadow:var(--shadow-md)!important}.kpi-card span{font-family:var(--font-display)!important;text-transform:uppercase!important;letter-spacing:.08em!important;color:var(--ink-500)!important;font-size:10px!important;font-weight:600!important}.kpi-card strong{margin:2px 0;display:block;font-family:var(--font-display)!important;color:var(--forest-900)!important;letter-spacing:-.03em!important;font-size:22px!important;font-weight:600!important}.kpi-card small{color:var(--ink-400)!important;font-size:10px!important}.kpi-card.highlight{position:relative;overflow:hidden;background:linear-gradient(135deg, var(--forest-800), var(--forest-700))!important;border-color:var(--forest-700)!important;color:#fff!important}.kpi-card.highlight:after{content:"";background:radial-gradient(circle at 100% 0,#d4ad6a4d,#0000 70%);width:60px;height:60px;position:absolute;top:0;right:0}.kpi-card.highlight span{color:#ffffffb3!important}.kpi-card.highlight strong{color:#fff!important}.kpi-card.highlight small{color:#ffffffb3!important}.dashboard-columns{gap:12px!important}.dashboard-panel h3{font-family:var(--font-display)!important;letter-spacing:-.02em!important;color:var(--forest-900)!important;margin-bottom:10px!important;font-size:14px!important;font-weight:600!important}.perm-grid{grid-template-columns:repeat(2,1fr);background:var(--cream-50)!important;border:1px solid var(--border-soft)!important;border-radius:var(--radius-md)!important;gap:10px!important;padding:10px!important;display:grid!important}.perm-category{background:var(--surface)!important;border:1px solid var(--border-soft)!important;border-radius:var(--radius-sm)!important;padding:8px 10px!important}.perm-cat-title{font-family:var(--font-display)!important;text-transform:uppercase!important;letter-spacing:.08em!important;color:var(--gold-600)!important;border-bottom:1px solid var(--border-soft)!important;margin-bottom:6px!important;padding-bottom:4px!important;font-size:10px!important;font-weight:700!important}.perm-row{cursor:pointer;color:var(--ink-700);border-radius:4px;transition:background .12s;align-items:center!important;gap:6px!important;padding:3px 4px!important;font-size:12px!important;display:flex!important}.perm-row:hover{background:var(--forest-50)!important}.perm-row input[type=checkbox]{accent-color:var(--forest-700);cursor:pointer;flex-shrink:0;width:14px!important;height:14px!important}input[type=checkbox],input[type=radio]{accent-color:var(--forest-700)}.radar-alert{background:var(--danger-bg)!important;border:1px solid var(--danger-border)!important;border-left:3px solid var(--danger-fg)!important;border-radius:var(--radius-md)!important;color:var(--danger-fg)!important}.radar-ok{background:var(--success-bg)!important;border:1px solid #c5e0d1!important;border-left:3px solid var(--success-fg)!important;border-radius:var(--radius-md)!important;color:var(--success-fg)!important}.muted{font-size:12px;color:var(--ink-500)!important}.linkbtn{color:var(--forest-700)!important;font-weight:600!important;font-family:var(--font-body)!important;font-size:13px!important}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--ink-200);border:2px solid var(--bg);border-radius:10px}::-webkit-scrollbar-thumb:hover{background:var(--ink-300)}@media (width<=900px){.sidebar{width:100%!important;height:auto!important;position:static!important}.main{margin-left:0!important;padding:14px!important}.grid.cards{grid-template-columns:1fr 1fr!important}.perm-grid{grid-template-columns:1fr!important}}::selection{background:var(--gold-400);color:var(--forest-900)}.toggle-section{border:1px solid var(--border-soft);background:var(--cream-50);border-radius:10px;margin:12px 0;padding:12px 14px;transition:all .15s}.toggle-section:hover{border-color:var(--border-medium)}.toggle-row{cursor:pointer;text-transform:none!important;letter-spacing:0!important;align-items:flex-start!important;gap:10px!important;margin:0!important;padding:0!important;font-weight:400!important;display:flex!important}.toggle-row input[type=checkbox]{width:18px;height:18px;accent-color:var(--forest-700);cursor:pointer;flex-shrink:0;margin-top:1px}.toggle-row strong{font-family:var(--font-display);color:var(--forest-900);letter-spacing:-.01em;font-size:14px;font-weight:600;display:block}.toggle-row small{color:var(--ink-500);margin-top:2px;font-size:11px;font-weight:400;display:block}.toggle-body{border-top:1px dashed var(--border-soft);margin-top:12px;padding-top:12px;padding-left:28px;animation:.2s slideDown}@keyframes slideDown{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.badge{font-size:11px;font-weight:600;font-family:var(--font-body);letter-spacing:-.005em;white-space:nowrap;border-radius:4px;align-items:center;gap:4px;padding:3px 8px;display:inline-flex}.badge-clinical{background:var(--forest-50);color:var(--forest-700);border:1px solid var(--forest-100)}.badge-admin{background:var(--cream-100);color:var(--gold-600);border:1px solid var(--cream-200)}.badge-full{background:linear-gradient(135deg, var(--forest-50), #fef9ed);color:var(--forest-800);border:1px solid var(--gold-400)}.badge-inactive{background:var(--ink-100);color:var(--ink-500);border:1px solid var(--ink-200)}.team-row td{vertical-align:top}.ag-page{max-width:760px;font-family:var(--font-body);margin:0 auto}.ag-global-search{background:#fff;border:2px solid #3b82f6;border-radius:12px;align-items:center;margin-bottom:18px;padding:4px 14px 4px 12px;transition:all .15s;display:flex;box-shadow:0 2px 10px #3b82f61a}.ag-global-search:focus-within{border-color:#2563eb;box-shadow:0 0 0 4px #3b82f626}.ag-global-search-input{font-size:14px;font-family:var(--font-body);color:var(--ink-900);background:0 0;border:none;outline:none;flex:1;padding:11px 4px;font-weight:500}.ag-global-search-input::placeholder{color:#9ca3af;font-weight:400}.ag-global-search-clear{cursor:pointer;color:#9ca3af;background:0 0;border:none;padding:0 4px;font-size:22px;line-height:1}.ag-global-search-clear:hover{color:#6b7280}.ag-search-results{box-shadow:var(--shadow-md);background:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden}.ag-search-head{color:#1e3a8a;background:linear-gradient(135deg,#dbeafe,#eff6ff);border-bottom:1px solid #bfdbfe;justify-content:space-between;align-items:center;padding:12px 16px;font-size:13px;display:flex}.ag-search-close{cursor:pointer;color:#1e3a8a;background:0 0;border:1px solid #bfdbfe;border-radius:6px;padding:4px 10px;font-size:11px;font-weight:600}.ag-search-close:hover{background:#bfdbfe}.ag-search-result{cursor:pointer;border-bottom:1px solid #f3f4f6;align-items:flex-start;gap:14px;padding:14px 16px;transition:background .12s;display:flex}.ag-search-result:last-child{border-bottom:none}.ag-search-result:hover{background:#f9fafb}.ag-search-info{flex:1;min-width:0}.ag-search-when{color:var(--ink-700);text-transform:capitalize;margin-bottom:3px;font-size:12px;font-weight:600}.ag-search-past{color:#991b1b;text-transform:uppercase;letter-spacing:.04em;background:#fee2e2;border-radius:999px;margin-left:8px;padding:1px 8px;font-size:10px;font-weight:700}.ag-search-patient{font-family:var(--font-display);color:var(--forest-900);letter-spacing:-.005em;margin-bottom:3px;font-size:14px;font-weight:700}.ag-search-meta{color:var(--ink-500);flex-wrap:wrap;gap:6px;font-size:11px;display:flex}.ag-card{background:#fff;border:1px solid #e5e7eb;border-radius:14px;margin-bottom:18px;padding:18px 20px;box-shadow:0 1px 3px #0000000a}.ag-card-label{font-family:var(--font-display);color:#4338ca;letter-spacing:-.005em;margin-bottom:8px;font-size:13px;font-weight:700}.ag-select{width:100%;font-size:14px;font-family:var(--font-body);color:var(--ink-900);cursor:pointer;appearance:none;background:#fff url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") right 12px center/18px no-repeat;border:1px solid #d1d5db;border-radius:10px;padding:11px 38px 11px 14px;transition:all .15s}.ag-select:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.ag-date-row{background:#fff;border:1px solid #d1d5db;border-radius:10px;align-items:stretch;gap:0;display:flex;overflow:hidden}.ag-btn-hoje{cursor:pointer;color:var(--ink-900);font-size:13px;font-weight:500;font-family:var(--font-body);background:#fff;border:none;border-right:1px solid #d1d5db;padding:10px 16px;transition:background .15s}.ag-btn-hoje:hover{background:#f3f4f6}.ag-btn-hoje.active{background:var(--forest-800);color:#fff}.ag-btn-arrow{cursor:pointer;font-size:22px;font-weight:700;line-height:1;font-family:var(--font-body);border:none;padding:0 18px}.ag-btn-arrow.back{color:#1e40af;background:#bfdbfe}.ag-btn-arrow.fwd{color:#fff;background:#3b82f6}.ag-btn-arrow:hover{opacity:.9}.ag-date-input{font-size:14px;font-family:var(--font-body);color:var(--ink-900);text-align:center;background:#fff;border:none;outline:none;flex:1;padding:10px 14px}.ag-banner{font-family:var(--font-display);color:var(--forest-900);letter-spacing:-.01em;margin-bottom:12px;padding-left:4px;font-size:16px;font-weight:600}.ag-kpis{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:18px;display:flex}.ag-kpi{color:#fff;font-family:var(--font-display);border-radius:8px;flex-shrink:0;align-items:center;gap:5px;padding:6px 12px;transition:transform .15s;display:flex;box-shadow:0 1px 2px #00000014}.ag-kpi:hover{transform:translateY(-1px)}.ag-kpi span{opacity:.95;font-size:14px;line-height:1}.ag-kpi strong{font-family:var(--font-display);letter-spacing:-.02em;font-size:17px;font-weight:700;line-height:1}.ag-kpi-summary{color:var(--ink-500);margin-left:auto;font-size:11px;font-weight:500}.ag-pick-pro{text-align:center;color:var(--ink-500);background:#fff;border:1px dashed #d1d5db;border-radius:12px;padding:28px 16px;font-size:13px}.ag-empty{text-align:center;box-shadow:var(--shadow-sm);background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:28px 24px}.ag-empty-icon{margin-bottom:12px;font-size:36px}.ag-empty-title{font-family:var(--font-display);color:var(--forest-900);letter-spacing:-.005em;margin-bottom:16px;font-size:14px;font-weight:600}.ag-empty-hints{flex-direction:column;gap:8px;max-width:480px;margin:0 auto;display:flex}.ag-empty-link{background:var(--cream-50);cursor:pointer;text-align:left;font-size:13px;font-family:var(--font-body);color:var(--ink-900);border:1px solid #d1d5db;border-radius:10px;padding:10px 14px;transition:all .15s}.ag-empty-link:hover{background:#fff;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.ag-empty-link strong{color:#2563eb;margin-right:4px}.ag-list-head{font-family:var(--font-body);color:var(--ink-700);border-bottom:1px solid #e5e7eb;align-items:center;gap:18px;margin-bottom:4px;padding:8px 4px;font-size:12px;font-weight:600;display:flex}.ag-list-head span:first-child{width:86px}.ag-btn-novo{color:#fff;cursor:pointer;font-size:12px;font-weight:600;font-family:var(--font-body);background:#10b981;border:none;border-radius:8px;margin-left:auto;padding:5px 14px;transition:all .15s}.ag-btn-novo:hover{background:#059669;transform:translateY(-1px)}.ag-list{flex-direction:column;display:flex}.ag-slot{cursor:pointer;border-bottom:1px solid #f3f4f6;align-items:center;gap:14px;min-height:52px;padding:10px 4px;transition:background .12s;display:flex}.ag-slot:last-child{border-bottom:none}.ag-slot-empty:nth-child(2n){background:#f9fafb}.ag-slot-empty{position:relative}.ag-slot-empty:hover{background:#eff6ff}.ag-slot-empty-hint{color:#3b82f6;opacity:0;margin-left:auto;padding-right:8px;font-size:11px;font-weight:600;transition:opacity .12s}.ag-slot-empty:hover .ag-slot-empty-hint{opacity:1}.ag-slot-filled{background:#fff}.ag-slot-filled:hover{background:#fafbfc}.ag-pill{font-size:13px;font-weight:600;font-family:var(--font-display);letter-spacing:0;color:#2563eb;background:#fff;border:1.5px solid #93c5fd;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;min-width:72px;padding:5px 14px;transition:all .12s;display:inline-flex}.ag-pill-empty{color:#60a5fa;background:#fff;border-color:#bfdbfe}.ag-slot-empty:hover .ag-pill-empty{color:#1d4ed8;border-color:#3b82f6}.ag-slot-content{flex:1;min-width:0}.ag-slot-patient{font-family:var(--font-display);letter-spacing:-.005em;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:700;line-height:1.25;overflow:hidden}.ag-slot-service{color:var(--ink-500);letter-spacing:.04em;margin-top:2px;font-size:10.5px;font-weight:600}.action-menu{background:#fff;border-radius:14px;width:320px;max-width:92vw;max-height:88vh;animation:.22s cubic-bezier(.16,1,.3,1) slideUp;overflow-y:auto;box-shadow:0 20px 60px #0000002e}.action-header{background:var(--cream-50);border-bottom:1px solid #e5e7eb;padding:14px 18px}.action-header strong{font-family:var(--font-display);color:var(--forest-900);letter-spacing:-.005em;font-size:13px;font-weight:700;display:block}.action-header>div{color:var(--ink-500);flex-wrap:wrap;gap:4px;margin-top:3px;font-size:11px;display:flex}.action-item{text-align:left;cursor:pointer;width:100%;color:var(--ink-900);font-size:14px;font-weight:500;font-family:var(--font-body);letter-spacing:-.005em;background:0 0;border:none;border-bottom:1px solid #f3f4f6;align-items:center;padding:12px 18px;transition:background .12s;display:flex}.action-item:last-child{border-bottom:none}.action-item:hover:not(:disabled){background:#f9fafb}.action-item:disabled{color:#d1d5db;cursor:not-allowed}.action-item.action-new,.action-item.action-confirmed{color:#10b981;font-weight:600}.action-item.action-cancelled{color:#f59e0b;font-weight:600}.action-item.action-missed{color:#ef4444;font-weight:600}.action-item.action-danger{color:#dc2626;background:#fef2f2;font-weight:700}.action-item.action-danger:hover{background:#fee2e2}.action-item.action-warn{color:#c2410c;font-weight:600}.action-item.action-warn:hover{background:#fff7ed}.action-item.action-whatsapp{color:#10b981;font-weight:600}@media (width<=600px){.ag-page{padding:0}.ag-card{padding:14px 16px}.ag-kpis{gap:4px}.ag-kpi{flex:1;justify-content:center;min-width:0;padding:5px 9px}.ag-kpi-summary{text-align:center;width:100%;margin:4px 0 0}}.ag-actions-bar{background:linear-gradient(135deg, #fff, var(--cream-50));border:1px solid var(--border-soft);border-radius:12px;flex-wrap:wrap;gap:8px;margin-bottom:14px;padding:10px 12px;display:flex;box-shadow:0 1px 3px #0000000a}.ag-action-btn{cursor:pointer;font-size:13px;font-weight:600;font-family:var(--font-body);letter-spacing:-.005em;border:none;border-radius:8px;align-items:center;gap:5px;padding:8px 14px;transition:all .15s;display:inline-flex}.ag-action-report{color:#5b21b6;background:#ede9fe;border:1px solid #c4b5fd}.ag-action-report:hover{background:#ddd6fe}.ag-action-close{color:#92400e;background:#fef3c7;border:1px solid #fde68a}.ag-action-close:hover{background:#fde68a}.ag-action-new{color:#fff;background:#10b981;margin-left:auto;box-shadow:0 1px 3px #10b9814d}.ag-action-new:hover{background:#059669;transform:translateY(-1px);box-shadow:0 3px 8px #10b98159}.ag-slot-patient{font-weight:700;font-size:14px!important}.report-modal{background:#fff;border-radius:14px;width:920px;max-width:96vw;max-height:92vh;padding:22px 28px;overflow-y:auto;box-shadow:0 20px 60px #0003}.report-print-header{display:none}.report-toolbar{border-bottom:1px solid var(--border-soft);justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;display:flex}.report-toolbar h3{font-family:var(--font-display);color:var(--forest-900);margin:0;font-size:18px}.report-toolbar .small{border:1px solid var(--border-soft);cursor:pointer;color:var(--ink-700);font-size:12px;font-family:var(--font-body);background:#f3f4f6;border-radius:8px;padding:6px 12px}.report-toolbar .small:hover{background:#e5e7eb}.report-banner{font-family:var(--font-display);color:var(--forest-900);text-transform:capitalize;margin-bottom:18px;font-size:17px;font-weight:600}.report-summary{background:var(--cream-50);border:1px solid var(--border-soft);border-radius:10px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;margin-bottom:22px;padding:14px;display:grid}.report-kpi{text-align:center;flex-direction:column;align-items:center;display:flex}.report-kpi span{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-500);font-size:9px;font-weight:600}.report-kpi strong{font-family:var(--font-display);letter-spacing:-.02em;margin-top:2px;font-size:18px;font-weight:700}.report-pro-section{margin-bottom:22px}.report-pro-header{background:var(--forest-50);border:1px solid var(--forest-100);font-family:var(--font-display);border-radius:10px 10px 0 0;justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.report-pro-header strong{color:var(--forest-900);font-size:14px}.report-pro-header span{color:var(--ink-700);font-size:11px;font-weight:500;font-family:var(--font-body)}.report-table{border-collapse:collapse;border:1px solid var(--border-soft);background:#fff;border-top:none;border-radius:0 0 10px 10px;width:100%;overflow:hidden}.report-table th{background:var(--cream-100);font-family:var(--font-display);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-700);text-align:left;border-bottom:1px solid var(--border-medium);padding:8px 12px;font-size:10px;font-weight:700}.report-table td{border-bottom:1px solid var(--cream-200);vertical-align:middle;padding:9px 12px;font-size:13px}.report-table tr:last-child td{border-bottom:none}.report-status{color:#fff;font-size:11px;font-weight:600;font-family:var(--font-body);border-radius:999px;padding:2px 10px}.report-empty{text-align:center;color:var(--ink-500);padding:60px 20px;font-size:14px}.report-footer{border-top:1px dashed var(--border-soft);color:var(--ink-400);text-align:center;margin-top:18px;padding-top:12px;font-size:11px}@media print{body *{visibility:hidden}.modal-backdrop,.report-modal{position:static!important}.report-modal,.report-modal *,.reports-page,.reports-page *{visibility:visible}.report-modal{width:100%;box-shadow:none;border-radius:0;max-height:none;padding:18px;top:0;left:0;overflow:visible;position:absolute!important}.report-print-header{text-align:center;margin-bottom:16px;display:block!important}.no-print{display:none!important}.report-toolbar{display:none}.report-summary{background:#fff;border:1px solid #ccc}.report-pro-header{background:#f0f0f0}.report-status{color:#000;border:1px solid #999;background:#fff!important}}.endday-modal{background:#fff;border-radius:14px;flex-direction:column;width:640px;max-width:96vw;max-height:92vh;display:flex;box-shadow:0 20px 60px #0003}.endday-header{border-bottom:1px solid var(--border-soft);background:linear-gradient(135deg,#fef3c7,#fffbeb);border-radius:14px 14px 0 0;padding:18px 22px}.endday-header h3{font-family:var(--font-display);color:#92400e;margin:0;font-size:17px}.endday-bulk-bar{background:var(--cream-50);border-bottom:1px solid var(--border-soft);flex-wrap:wrap;align-items:center;gap:6px;padding:12px 18px;display:flex}.endday-bulk-bar .mini{cursor:pointer;font-size:11px;font-weight:600;font-family:var(--font-body);border-radius:6px;padding:5px 12px}.endday-list{flex:1;padding:4px 0;overflow-y:auto}.endday-row{border-bottom:1px solid #f3f4f6;align-items:center;gap:12px;padding:12px 18px;transition:background .12s;display:flex}.endday-row:hover{background:var(--cream-50)}.endday-row:last-child{border-bottom:none}.endday-info{flex:1;min-width:0}.endday-time{font-family:var(--font-display);color:#3b82f6;letter-spacing:-.01em;font-size:12px;font-weight:700}.endday-patient{font-family:var(--font-display);color:var(--forest-900);letter-spacing:-.005em;margin:2px 0;font-size:13px;font-weight:700}.endday-meta{color:var(--ink-500);font-size:11px}.endday-buttons{gap:4px;display:flex}.endday-btn{cursor:pointer;width:36px;height:36px;color:var(--ink-500);background:#fff;border:1.5px solid #d1d5db;border-radius:8px;font-size:16px;font-weight:700;transition:all .12s}.endday-btn:hover{border-color:var(--ink-400)}.endday-btn.active.attended{color:#fff;background:#9ca3af;border-color:#9ca3af}.endday-btn.active.missed{color:#fff;background:#ef4444;border-color:#ef4444}.endday-btn.active.cancelled{color:#fff;background:#f59e0b;border-color:#f59e0b}.endday-footer{border-top:1px solid var(--border-soft);background:var(--cream-50);border-radius:0 0 14px 14px;justify-content:flex-end;gap:8px;padding:16px 22px;display:flex}.endday-footer button{border:1px solid var(--border-soft);cursor:pointer;font-size:13px;font-weight:600;font-family:var(--font-body);background:#fff;border-radius:8px;padding:8px 16px}.endday-footer .primary{background:var(--forest-800);color:#fff;border-color:var(--forest-800)}.endday-footer .primary:disabled{cursor:not-allowed;background:#d1d5db;border-color:#d1d5db}.recurrence-section{background:var(--cream-50);border:1px solid var(--border-soft);border-radius:12px;grid-column:1/-1;margin:8px 0;padding:14px 16px}.recurrence-toggle{cursor:pointer;font-family:var(--font-body);color:var(--forest-900);-webkit-user-select:none;user-select:none;align-items:center;gap:10px;font-size:14px;display:flex}.recurrence-toggle input[type=checkbox]{cursor:pointer;width:18px;height:18px;accent-color:var(--forest-700)}.recurrence-toggle strong{font-family:var(--font-display);letter-spacing:-.005em;font-weight:600}.recurrence-body{border-top:1px dashed var(--border-soft);flex-direction:column;gap:14px;margin-top:14px;padding-top:14px;display:flex}.rec-row{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.rec-radio{cursor:pointer;font-size:13px;font-family:var(--font-body);color:var(--ink-900);-webkit-user-select:none;user-select:none;align-items:center;gap:6px;display:inline-flex}.rec-radio input[type=radio]{cursor:pointer;accent-color:var(--forest-700);width:16px;height:16px}.rec-section-label{font-family:var(--font-display);color:#4338ca;text-transform:uppercase;letter-spacing:.06em;font-size:12px;font-weight:700}.rec-weekdays-section{flex-direction:column;gap:8px;display:flex}.rec-weekdays{flex-wrap:wrap;gap:6px;display:flex}.rec-weekday{border:1.5px solid var(--border-soft);cursor:pointer;font-size:13px;font-weight:600;font-family:var(--font-body);color:var(--ink-700);-webkit-user-select:none;user-select:none;background:#fff;border-radius:8px;justify-content:center;align-items:center;gap:6px;min-width:64px;padding:8px 14px;transition:all .15s;display:inline-flex}.rec-weekday:hover{border-color:var(--forest-600);color:var(--forest-900)}.rec-weekday.active{background:var(--forest-800);color:#fff;border-color:var(--forest-800);box-shadow:0 2px 6px #0f2a2333}.rec-weekday input[type=checkbox]{display:none}.rec-preview{color:#1e3a8a;font-size:13px;font-family:var(--font-body);background:#dbeafe;border:1px solid #93c5fd;border-radius:10px;padding:10px 14px}.rec-preview strong{color:#1e40af}@media (width<=600px){.rec-weekday{min-width:50px;padding:8px 10px;font-size:12px}.rec-weekdays{gap:4px}}.day-appts-panel{border:1px solid var(--border-soft);background:#fff;border-radius:10px;grid-column:1/-1;margin:4px 0 8px;overflow:hidden}.day-appts-header{background:var(--cream-50);border-bottom:1px solid var(--border-soft);font-family:var(--font-display);color:var(--forest-900);letter-spacing:-.005em;justify-content:space-between;align-items:center;padding:9px 12px;font-size:12px;font-weight:600;display:flex}.day-appts-loading{color:var(--ink-500);font-size:11px;font-style:italic;font-weight:500}.day-appts-empty{color:#10b981;text-align:center;background:#ecfdf5;padding:14px 12px;font-size:12px}.day-appts-list{max-height:180px;overflow-y:auto}.day-appt-item{border-bottom:1px solid #f3f4f6;align-items:center;gap:10px;padding:7px 12px;font-size:12px;display:flex}.day-appt-item:last-child{border-bottom:none}.day-appt-item.conflicts{background:#fef2f2}.day-appt-time{font-family:var(--font-display);letter-spacing:-.01em;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;min-width:92px;padding:3px 10px;font-size:11px;font-weight:700;display:inline-flex}.day-appt-patient{font-family:var(--font-display);color:var(--ink-900);text-overflow:ellipsis;white-space:nowrap;letter-spacing:-.005em;flex:1;font-size:12px;font-weight:600;overflow:hidden}.day-appt-warn{color:#dc2626;text-transform:uppercase;letter-spacing:.04em;background:#fee2e2;border-radius:999px;padding:2px 8px;font-size:10px;font-weight:700}.rec-shift-toggle{border:1px solid var(--border-soft);cursor:pointer;-webkit-user-select:none;user-select:none;font-family:var(--font-body);background:#fff;border-radius:8px;align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.rec-shift-toggle input[type=checkbox]{cursor:pointer;width:17px;height:17px;accent-color:var(--forest-700);flex-shrink:0;margin-top:1px}.rec-shift-toggle span{flex-direction:column;gap:2px;display:flex}.rec-shift-toggle strong{font-family:var(--font-body);color:var(--forest-900);font-size:13px;font-weight:600}.rec-shift-toggle small{color:var(--ink-500);font-size:11px;font-weight:400}.schedule-grid{border:1px solid var(--border-soft);background:#fff;border-radius:12px;grid-column:1/-1;margin:4px 0 8px;overflow:hidden}.schedule-header{background:linear-gradient(135deg, var(--cream-50), #fff);border-bottom:1px solid var(--border-soft);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:10px 14px;display:flex}.schedule-title{font-family:var(--font-display);color:var(--forest-900);letter-spacing:-.005em;font-size:13px;font-weight:600}.schedule-counts{gap:12px;font-size:11px;font-weight:600;display:flex}.count-free{color:#059669}.count-busy{color:#dc2626}.schedule-filter{background:var(--cream-50);border-bottom:1px solid var(--border-soft);flex-wrap:wrap;align-items:center;gap:6px;padding:10px 14px;display:flex}.schedule-filter button{border:1px solid var(--border-soft);cursor:pointer;color:var(--ink-700);font-size:11px;font-weight:600;font-family:var(--font-body);background:#fff;border-radius:6px;padding:5px 12px;transition:all .15s}.schedule-filter button:hover{border-color:var(--forest-600);color:var(--forest-900)}.schedule-filter button.active{background:var(--forest-800);color:#fff;border-color:var(--forest-800)}.schedule-filter button.active.free{background:#10b981;border-color:#10b981}.schedule-filter button.active.busy{background:#ef4444;border-color:#ef4444}.schedule-hint{color:var(--ink-500);margin-left:auto;font-size:11px;font-style:italic}.schedule-loading{text-align:center;color:var(--ink-500);padding:30px 14px;font-size:13px}.schedule-slots{grid-template-columns:repeat(auto-fill,minmax(105px,1fr));gap:6px;max-height:260px;padding:12px 14px;display:grid;overflow-y:auto}.slot-tile{font-family:var(--font-body);text-align:center;background:#fff;border:1.5px solid;border-radius:8px;flex-direction:column;align-items:stretch;gap:0;padding:0;transition:all .15s;display:flex;overflow:hidden}.slot-tile.free{cursor:pointer;background:#ecfdf5;border-color:#86efac}.slot-tile.free:hover{background:#d1fae5;border-color:#10b981;transform:translateY(-1px);box-shadow:0 2px 6px #10b98133}.slot-tile.free.current{background:#dbeafe;border-color:#1e40af;box-shadow:0 0 0 2px #3b82f633}.slot-tile.occupied{cursor:not-allowed;opacity:.85;background:#fff}.slot-tile.occupied:hover{opacity:1}.slot-tile .slot-time{font-family:var(--font-display);letter-spacing:-.005em;padding:5px 8px;font-size:12px;font-weight:700;display:block}.slot-tile.free .slot-time{color:#fff;background:#10b981}.slot-tile.free.current .slot-time{background:#1e40af}.slot-tile .slot-info{color:var(--ink-700);text-transform:uppercase;letter-spacing:.04em;text-overflow:ellipsis;white-space:nowrap;padding:4px 6px;font-size:10px;font-weight:600;display:block;overflow:hidden}.slot-tile.free .slot-info{color:#047857}.slot-tile.free.current .slot-info{color:#1e40af}.slot-tile.occupied .slot-info{color:var(--ink-500)}@media (width<=600px){.schedule-slots{grid-template-columns:repeat(auto-fill,minmax(85px,1fr));gap:4px;max-height:220px;padding:8px 10px}.slot-tile .slot-time{padding:4px 6px;font-size:11px}.slot-tile .slot-info{padding:3px 4px;font-size:9px}.schedule-hint{display:none}}.reports-page .report-brand-header{color:#fff;background:#033649;border-radius:10px;align-items:center;gap:14px;margin-bottom:12px;padding:14px 18px;display:flex;box-shadow:0 2px 8px #03364926}.reports-page .report-brand-header-compact{padding:10px 14px}.reports-page .report-logo-box{background:#fff;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:110px;height:110px;padding:8px;display:flex}.reports-page .report-logo-small{object-fit:contain;width:100%;max-width:96px;height:100%;max-height:96px;margin:auto;display:block}.reports-page .report-title-box{flex:1;min-width:0}.reports-page .report-title-box h1{color:#fff;margin:0;font-size:22px;font-weight:700;line-height:1.25}.reports-page .report-title-box p{color:#ffffffe0;margin:4px 0 0;font-size:14px;font-weight:500}.reports-page .report-title-box span{color:#ffffffb8;margin-top:3px;font-size:12.5px;font-style:italic;display:block}@media print{.reports-page .report-brand-header{color:#033649!important;box-shadow:none!important;background:#fff!important;border:1.5px solid #033649!important}.reports-page .report-title-box h1{color:#033649!important}.reports-page .report-title-box p,.reports-page .report-title-box span{color:#475569!important}.reports-page .report-logo-box{border:1px solid #cbd5e1!important}}
