:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:#f5f5f7;--surface:#fff;--surface-2:#f2f2f4;--border:#e6e6ea;--text:#1d1d1f;--text-dim:#6e6e73;--accent:#0071e3;--accent-weak:#eaf3fe;--teal:#009689;--teal-weak:#e2f5f2;--danger:#d7362f;--danger-weak:#fbebea;--radius-sm:8px;--radius-md:12px;--radius-lg:18px;--radius-pill:999px;--shadow-sm:0 1px 2px #0000000a, 0 1px 1px #00000008;--shadow-md:0 2px 6px #0000000d, 0 10px 24px -12px #00000024;--shadow-lg:0 8px 16px #0000000f, 0 24px 48px -16px #00000038;--ease:cubic-bezier(.25, .1, .25, 1)}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#000;--surface:#1c1c1e;--surface-2:#2c2c2e;--border:#38383a;--text:#f5f5f7;--text-dim:#98989d;--accent:#409cff;--accent-weak:#132437;--teal:#63d7c7;--teal-weak:#103330;--danger:#ff6961;--danger-weak:#3a1f1d;--shadow-sm:0 1px 2px #00000080;--shadow-md:0 4px 16px #00000080;--shadow-lg:0 12px 32px #0009}}html{font-size:112.5%}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Helvetica,Arial,sans-serif}a{color:var(--accent)}button,.button,input,select,textarea,a{transition:background-color .15s var(--ease), border-color .15s var(--ease), color .15s var(--ease), box-shadow .15s var(--ease), opacity .15s var(--ease), transform .1s var(--ease)}h1,h2,h3{letter-spacing:-.01em;font-weight:700}.page{max-width:1320px;margin:0 auto;padding:24px 16px 64px}.brand-header{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);align-items:center;gap:16px;margin-bottom:20px;padding:18px 24px;display:flex}.brand-logo{flex-shrink:0;width:auto;height:56px;display:block}.brand-info{min-width:0}.brand-name{letter-spacing:-.02em;color:var(--text);font-size:1.9rem;font-weight:700;line-height:1.15}.brand-meta{color:var(--text-dim);overflow-wrap:anywhere;margin-top:4px;font-size:.85rem}.brand-meta a{color:inherit;text-decoration:underline}@media (max-width:600px){.brand-name{font-size:1.3rem}.brand-logo{height:40px}.brand-header{gap:10px;padding:12px 14px}}.main-layout{grid-template-columns:300px minmax(0,1fr) 270px;align-items:start;gap:16px;display:grid}.side-col{flex-direction:column;gap:16px;display:flex;position:sticky;top:16px}.center-col{min-width:0}@media (max-width:1050px){.main-layout{grid-template-columns:1fr}.side-col{position:static}}.header,.ficha-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.header h1,.ficha-header h1{color:var(--text);margin:4px 0 0;font-size:1.4rem}.header .sub{color:var(--text-dim);margin-top:2px;font-size:.85rem}.back-link{color:var(--text-dim);font-size:.85rem;text-decoration:none}.back-link:hover{color:var(--accent)}.controls{flex-wrap:wrap;align-items:center;gap:8px;display:flex}input[type=text],input[type=date],input[type=email],input[type=tel],input[type=number],textarea,select{background:var(--surface-2);border-radius:var(--radius-sm);color:var(--text);border:1px solid #0000;padding:9px 12px;font-family:inherit;font-size:.9rem}input[type=text]:focus,input[type=date]:focus,input[type=email]:focus,input[type=tel]:focus,input[type=number]:focus,textarea:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-weak);background:var(--surface);outline:none}.controls input[type=text]{min-width:220px}textarea{resize:vertical;width:100%}button,.button{background:var(--surface-2);color:var(--text);border-radius:var(--radius-pill);cursor:pointer;border:1px solid #0000;padding:8px 16px;font-size:.88rem;font-weight:500;text-decoration:none;display:inline-block}button:hover,.button:hover{background:var(--border)}button.primary{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}button.primary:hover{opacity:.88;background:var(--accent)}button.primary:active{transform:scale(.98)}button:disabled{opacity:.5;cursor:default}button:disabled:hover{background:var(--surface-2)}label.auto{color:var(--text-dim);align-items:center;gap:6px;font-size:.85rem;display:flex}.status-line{color:var(--text-dim);min-height:1.2em;margin-bottom:12px;font-size:.8rem}.status-line.error{color:var(--danger)}.table-wrap{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-sm);overflow:auto}table{border-collapse:collapse;width:100%;font-size:.88rem}thead th{background:var(--surface);text-align:left;border-bottom:1px solid var(--border);text-transform:uppercase;letter-spacing:.02em;color:var(--text-dim);white-space:nowrap;padding:12px 14px;font-size:.78rem;font-weight:600;position:sticky;top:0}thead th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}thead th.sortable:hover{color:var(--accent)}tbody td{border-bottom:1px solid var(--border);vertical-align:top;padding:12px 14px}tbody tr:last-child td{border-bottom:none}.table-wrap tbody tr{transition:background-color .1s var(--ease)}.table-wrap tbody tr:hover{background:var(--surface-2);cursor:pointer}.tag{background:var(--accent-weak);color:var(--accent);border-radius:999px;margin:1px 3px 1px 0;padding:2px 8px;font-size:.75rem;display:inline-block}.tag-list{flex-wrap:wrap;align-items:center;gap:0;max-width:220px;display:inline-flex}.tag-more{cursor:pointer;background:var(--border);color:var(--text-dim);border:none;font-weight:600}.tag-more:hover{background:var(--accent-weak);color:var(--accent)}.pill{background:var(--teal-weak);color:var(--teal);border-radius:999px;margin-left:8px;padding:1px 9px;font-size:.72rem;font-weight:600;display:inline-block}.empty{text-align:center;color:var(--text-dim);padding:32px}.timeline{flex-direction:column;gap:10px;margin:16px 0 0;padding:0;list-style:none;display:flex}.timeline-item{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-sm);padding:10px 12px}.timeline-item .row{color:var(--text-dim);justify-content:space-between;gap:8px;margin-bottom:4px;font-size:.8rem;display:flex}.badge{background:var(--accent-weak);color:var(--accent);border-radius:6px;padding:1px 7px;font-size:.72rem;font-weight:600;display:inline-block}.badge.cancelled,.badge.no_show,.badge.noshow{background:var(--danger-weak);color:var(--danger)}.badge.source-invoice{background:var(--teal-weak);color:var(--teal)}.badge.source-cita{background:var(--accent-weak);color:var(--accent)}.badge.source-nota{background:var(--border);color:var(--text-dim)}.close-btn{border-radius:var(--radius-sm);color:var(--text-dim);background:0 0;border:none;padding:4px 8px;font-size:1.2rem;line-height:1}.close-btn:hover{background:var(--surface-2);color:var(--text)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:16px;padding:20px 22px}.card h3{color:var(--text);margin:0 0 12px;font-size:1rem;font-weight:700}.contact-grid,.grid2,.grid5{gap:12px;display:grid}.contact-grid{grid-template-columns:repeat(4,1fr)}.grid2{grid-template-columns:repeat(2,1fr)}.grid5{grid-template-columns:repeat(5,1fr);align-items:end}@media (max-width:800px){.contact-grid,.grid2,.grid5{grid-template-columns:1fr 1fr}}.field{color:var(--text-dim);flex-direction:column;gap:4px;min-width:0;font-size:.8rem;display:flex}.field input,.field select,.field textarea{color:var(--text);width:100%;min-width:0;font-size:.9rem}.field-input-row{align-items:center;min-width:0;display:flex}.field-input-row input{flex:1;min-width:0}.save-indicator{margin-top:8px;font-size:.75rem;display:inline-block}.save-indicator.saving{color:var(--text-dim)}.save-indicator.saved{color:var(--teal)}.save-indicator.error{color:var(--danger)}.tabs{background:var(--surface-2);border-radius:var(--radius-md);flex-wrap:wrap;gap:2px;max-width:100%;margin-bottom:18px;padding:3px;display:inline-flex}.tabs button{border-radius:calc(var(--radius-md) - 3px);color:var(--text-dim);background:0 0;border:none;padding:8px 16px;font-weight:500}.tab-toolbar{justify-content:flex-end;margin-bottom:8px;display:flex}.intake fieldset{border:none;margin:0;padding:0}.checkrow{flex-wrap:wrap;gap:8px 16px;margin-bottom:10px;display:flex}.checkbox{color:var(--text);align-items:center;gap:6px;font-size:.85rem;display:flex}.qrow{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;min-width:0;margin-bottom:8px;font-size:.85rem;display:flex}.yesno{background:var(--surface-2);border-radius:var(--radius-sm);flex-shrink:0;padding:2px;display:inline-flex;overflow:hidden}.yesno button{border-radius:calc(var(--radius-sm) - 2px);background:0 0;border:none;padding:4px 12px;font-size:.8rem}.yesno button.active{background:var(--accent);color:#fff}.visit-form h3{margin-top:0}.visit-form .grid5{margin-bottom:12px}.editing-row{background:var(--accent-weak)}.editing-row input{width:100%}.computed-cell{color:var(--text-dim);font-style:italic}.week-grid{flex-direction:column;gap:10px;max-height:520px;display:flex;overflow-y:auto}@media (min-width:1051px){.week-grid{max-height:640px}}.week-day{border-bottom:1px solid var(--border);padding-bottom:8px}.week-day:last-child{border-bottom:none}.week-day-header{color:var(--text-dim);text-transform:capitalize;margin-bottom:4px;font-size:.75rem;font-weight:700}.week-day-header span{font-weight:400}.week-empty{color:var(--text-dim);font-size:.72rem}.card-header-row{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.card-header-row h3{margin:0}.expand-btn{background:var(--surface-2);border-radius:var(--radius-sm);color:var(--text-dim);cursor:pointer;border:none;padding:3px 9px;font-size:1rem;line-height:1.4}.expand-btn:hover{color:var(--accent);background:var(--accent-weak)}.modal-overlay{justify-content:center;align-items:center;padding:20px}.modal-window{background:var(--surface);border-radius:var(--radius-lg);width:min(960px,100%);max-height:88vh;box-shadow:var(--shadow-lg);padding:20px 24px 28px;overflow-y:auto}.modal-header{background:var(--surface);border-bottom:1px solid var(--border);flex-direction:column;gap:8px;margin-bottom:16px;padding-top:4px;padding-bottom:8px;display:flex;position:sticky;top:-20px}.modal-header h2{margin:0;font-size:1.2rem}.modal-back{align-self:flex-start;font-size:.85rem}.week-nav{flex-wrap:wrap;gap:8px;display:flex}.week-nav button{padding:5px 10px;font-size:.8rem}.week-grid-modal{grid-template-columns:repeat(7,1fr);gap:10px;display:grid}@media (max-width:800px){.week-grid-modal{grid-template-columns:repeat(2,1fr)}}.message-body-full{-webkit-line-clamp:unset;display:block;overflow:visible}.modal-window .messages-list{max-height:none;overflow-y:visible}.week-event{text-align:left;border:1px solid var(--border);background:var(--accent-weak);cursor:pointer;border-radius:6px;flex-direction:column;width:100%;margin-bottom:4px;padding:3px 5px;font-size:.68rem;display:flex;overflow:hidden}.week-event.status-cancelled{background:var(--danger-weak)}.week-event-time{color:var(--accent);font-weight:700}.week-event-title{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.messages-list{flex-direction:column;gap:8px;max-height:320px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.message-item{border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;padding:8px 10px}.message-item:hover{background:var(--surface-2)}.message-row{justify-content:space-between;font-size:.85rem;display:flex}.message-time{color:var(--text-dim);font-size:.72rem}.message-body{color:var(--text-dim);text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:2px 0 4px;font-size:.8rem;display:-webkit-box;overflow:hidden}.message-actions{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.contact-btn.reply{background:var(--surface);color:var(--text-dim);border-color:var(--border);cursor:pointer;margin-left:0}.contact-btn.reply:hover{color:var(--accent);border-color:var(--accent)}.reply-box{border-top:1px dashed var(--border);flex-direction:column;gap:6px;margin-top:8px;padding-top:8px;display:flex}.reply-box select{align-self:flex-start;padding:4px 8px;font-size:.78rem}.reply-box textarea{width:100%;font-size:.82rem}.reply-box-actions{align-items:center;gap:8px;display:flex}.reply-box-actions button{padding:4px 10px;font-size:.78rem}.reply-result{color:var(--text-dim);font-size:.78rem}.load-more-wrap{justify-content:center;margin-top:14px;display:flex}.date-weather-card{text-align:center}.dwq-top{flex-direction:column;align-items:center;gap:2px;display:flex}.dwq-date{color:var(--text-dim);text-transform:capitalize;font-size:.85rem}.dwq-clock{font-variant-numeric:tabular-nums;color:var(--text);font-size:1.7rem;font-weight:700}.dwq-weather{justify-content:center;align-items:center;gap:6px;margin-top:8px;font-size:.9rem;display:flex}.dwq-weather-icon{font-size:1.3rem}.dwq-quote{color:var(--text-dim);margin-top:12px;font-size:.82rem;font-style:italic;line-height:1.4}.contact-btn{border:1px solid #0000;border-radius:5px;margin-left:6px;padding:2px 7px;font-size:.72rem;font-weight:600;text-decoration:none;display:inline-block}.contact-btn.whatsapp{color:#1a8a3c;background:#e3f7ea}.contact-btn.email{background:var(--accent-weak);color:var(--accent)}@media (prefers-color-scheme:dark){.contact-btn.whatsapp{color:#4fd478;background:#123a20}}.annotation-btn{color:var(--text-dim);text-align:left;white-space:normal;cursor:text;background:0 0;border:none;max-width:200px;padding:2px 4px;font-size:.8rem}.annotation-btn:hover{color:var(--accent);text-decoration:underline}.row-actions{white-space:nowrap;gap:6px;display:flex}.row-actions button{padding:4px 8px;font-size:.78rem}.row-actions .hint{margin:0;font-size:.75rem}.overlay{z-index:30;background:#00000073;justify-content:flex-end;align-items:stretch;display:flex;position:fixed;inset:0}.drawer{background:var(--surface);border-left:1px solid var(--border);width:min(520px,100%);height:100%;box-shadow:var(--shadow-lg);padding:20px;overflow-y:auto}.drawer-header{justify-content:space-between;align-items:flex-start;margin-bottom:16px;display:flex}.drawer-header h2{margin:0;font-size:1.15rem}.gallery-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.gallery-thumb{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);cursor:pointer;text-align:left;flex-direction:column;gap:6px;padding:8px;display:flex}.gallery-thumb img{object-fit:cover;border-radius:6px;width:100%;height:120px}.gallery-thumb span{color:var(--text-dim);word-break:break-word;font-size:.75rem}.overlay.lightbox{cursor:zoom-out;justify-content:center;align-items:center}.overlay.lightbox img{object-fit:contain;border-radius:6px;max-width:92vw;max-height:92vh}.actions-col{z-index:2;background:var(--surface);position:sticky;left:0;box-shadow:2px 0 4px #0000000f}.editing-row .actions-col{background:var(--accent-weak)}thead .actions-col{z-index:3}.hint{color:var(--text-dim);margin:-4px 0 12px;font-size:.8rem}.odontograma-wrap{max-width:900px;margin:0 auto;position:relative}.odontograma-canvas{background:#fff;border-radius:8px;width:100%;position:relative;overflow:hidden}.tooth-hotspot-raiz,.periodontograma-lines{-webkit-print-color-adjust:exact;print-color-adjust:exact;background-image:linear-gradient(#7d93a3 0 1px,#0000 1px 100%);background-repeat:repeat-y;background-size:100% 10%}.periodontograma-lines{pointer-events:none;position:absolute}.odontograma-canvas .odontograma-img{object-fit:contain;width:100%;height:100%;display:block;position:absolute;inset:0}.tooth-hotspot{cursor:pointer;background-color:#0000;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:flex-end;padding:0;display:flex;position:absolute}.tooth-hotspot:hover{border-color:var(--accent);background-color:#1c6ea414}.tooth-hotspot.has-value{border-color:var(--teal);background-color:#0f9b8e1f}.tooth-hotspot-raiz.has-value{border-color:var(--accent);background-color:#1c6ea41f}.tooth-hotspot:disabled{cursor:default}.tooth-hotspot-corona{align-items:flex-end}.tooth-hotspot-raiz{align-items:flex-start}.tooth-tag{color:#fff;background:var(--teal);white-space:nowrap;border-radius:4px;margin-bottom:2px;padding:0 3px;font-size:.62rem;font-weight:700}.tooth-tag.raiz-tag{background:var(--accent);margin-top:2px;margin-bottom:0}.tooth-editor{z-index:5;max-width:320px;margin:12px auto 0;position:sticky;bottom:12px}.tooth-editor-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.tooth-editor input{width:100%;margin-bottom:8px}.tooth-editor-actions{gap:8px;display:flex}.odontograma-summary{background:var(--accent-weak);border-radius:8px;margin-top:14px;padding:10px 12px;font-size:.82rem;line-height:1.5}.odontograma-referencias{color:var(--text-dim);margin-top:12px;font-size:.8rem}.odontograma-referencias summary{cursor:pointer;color:var(--accent)}.referencias-grid{grid-template-columns:repeat(3,1fr);gap:4px 16px;margin-top:10px;display:grid}@media (max-width:700px){.referencias-grid{grid-template-columns:1fr 1fr}}.declaracion-text{align-items:flex-start;gap:10px;font-size:.85rem;line-height:1.5}.declaracion-text input{margin-top:3px}.print-page{background:var(--surface);color:#10202e;max-width:820px;margin:0 auto;padding:32px 24px 80px}.print-letterhead{text-align:center;border-bottom:2px solid var(--accent);margin-bottom:20px;padding-bottom:12px}.print-letterhead h1{color:var(--accent);margin:0;font-size:1.5rem}.print-letterhead div{color:var(--text-dim);font-size:.9rem}.print-logo{max-height:70px;margin:0 auto 6px;display:block}.print-letterhead-patient{margin-top:4px;font-weight:700;color:var(--text)!important;font-size:.95rem!important}.print-sheet+.print-sheet{break-before:page;page-break-before:always}.odontograma-block .odontograma-canvas{width:100%;max-width:700px;margin:0 auto;position:relative}.odontograma-block .odontograma-img{object-fit:contain;width:100%;height:100%;position:absolute;inset:0}.tooth-print-tag{color:#a01818;white-space:nowrap;background:#fff;border:1px solid #a01818;border-radius:3px;padding:0 2px;font-size:8px;font-weight:700;line-height:1.3;position:absolute;transform:translate(-50%)}.tooth-print-tag.raiz{color:#1c4e7a;border-color:#1c4e7a}.odontograma-list{margin-top:8px;font-size:.78rem}.print-block{margin-bottom:20px}.print-block h2{text-transform:uppercase;letter-spacing:.04em;color:var(--accent);border-bottom:1px solid var(--border);margin-bottom:10px;padding-bottom:4px;font-size:.95rem}.print-block p{margin:4px 0;font-size:.9rem}.print-grid{grid-template-columns:1fr 1fr;gap:6px 24px;font-size:.9rem;display:grid}.receta-block h2:not(:first-child){margin-top:16px}.receta-text{white-space:pre-wrap;font-size:1rem;line-height:1.6}.print-table{border-collapse:collapse;width:100%;font-size:.82rem}.print-table th,.print-table td{border:1px solid var(--border);text-align:left;padding:6px 8px}.print-table th{background:var(--accent-weak)}.print-total{text-align:right;font-size:.95rem}.signature-block{flex-wrap:wrap;justify-content:space-between;gap:24px;margin-top:48px;display:flex}.signature-line{text-align:center;width:260px}.signature-line .line{border-bottom:1px solid var(--text);height:80px;margin-bottom:6px}.signature-line .line.signed{color:var(--text);justify-content:center;align-items:flex-end;font-family:Brush Script MT,cursive;font-size:1.3rem;display:flex}.signature-line .sub{color:var(--text-dim);letter-spacing:.03em;font-size:.75rem}.no-print{margin-bottom:20px}@media print{@page{size:letter;margin:1.5cm}.no-print{display:none}body{background:#fff}.print-page{max-width:none;padding:0}.print-block{break-inside:avoid}.print-table{break-inside:auto}.print-table tr{break-inside:avoid}}.hc-number{letter-spacing:.03em;color:var(--text-dim);font-variant-numeric:tabular-nums;margin-top:2px;font-size:.78rem;font-weight:600}.age-badge{background:var(--surface-2);color:var(--text-dim);border-radius:var(--radius-pill);white-space:nowrap;flex-shrink:0;padding:3px 10px;font-size:.78rem;display:inline-block}button.danger,.button.danger{background:var(--danger-weak);border-color:var(--danger);color:var(--danger)}button.danger:hover{background:var(--danger);color:#fff}.danger-modal p{font-size:.88rem;line-height:1.5}.danger-modal input[type=text]{width:100%;margin:8px 0 4px}.modal-actions{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.dup-drawer{width:min(560px,100%)}.dup-section{margin-top:18px}.dup-section h3{color:var(--text-dim);margin:0 0 8px;font-size:.9rem}.dup-section input[type=text]{width:100%;margin-bottom:10px}.dup-card{border:1px solid var(--border);border-radius:var(--radius-md);justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;padding:10px 12px;display:flex}.dup-card .hint{margin:2px 0 0}.merge-compare{flex-wrap:wrap;align-items:center;gap:14px;margin:14px 0;display:flex}.merge-side{border:1px solid var(--border);border-radius:var(--radius-md);flex:1;min-width:160px;padding:10px 12px}.merge-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-dim);margin-bottom:4px;font-size:.72rem}.merge-arrow{color:var(--text-dim);font-size:1.4rem}.public-form-page{max-width:720px;margin:0 auto;padding:20px 16px 64px}.public-form-header{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);align-items:center;gap:14px;margin-bottom:4px;padding:16px 20px;display:flex}.public-form-header img{flex-shrink:0;width:auto;height:48px}.public-form-header-text{flex:1;min-width:0}.public-form-header .brand-name{color:var(--accent);font-size:1.3rem;font-weight:800}.public-form-header .sub{color:var(--text-dim);margin-top:2px;font-size:.85rem}.public-form-photo-hint{text-align:right;margin:4px 2px 0;font-size:.75rem}.public-form-intro{margin:12px 2px 18px}.public-form{flex-direction:column;gap:16px;display:flex}.public-form-submit{border-radius:var(--radius-md);align-self:stretch;padding:14px;font-size:1rem;font-weight:700}.public-form-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);text-align:center;box-shadow:var(--shadow-sm);margin-top:40px;padding:32px 24px}.public-form-card h1{color:var(--accent);margin:0 0 10px;font-size:1.4rem}.public-form-card.success .hc-number{margin-top:14px;font-size:1rem}.signature-section.invalid{border-color:var(--danger);box-shadow:0 0 0 2px var(--danger-weak)}.public-form-error{text-align:center;font-size:.9rem;font-weight:600}.signature-pad-wrap{margin:4px 0 12px;position:relative}.signature-pad-canvas{border:1px dashed var(--border);touch-action:none;cursor:crosshair;background:#fff;border-radius:8px;width:100%;height:160px;display:block}.signature-pad-placeholder{color:#b7c2cc;pointer-events:none;font-size:.9rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.signature-pad-clear{margin-top:8px;padding:5px 10px;font-size:.78rem}.signature-img{max-width:220px;max-height:70px;margin:0 auto;display:block}.photo-avatar-picker{flex-shrink:0;position:relative}.photo-avatar-circle{border:1px dashed var(--border);background:var(--bg);width:60px;height:60px;color:var(--text-dim);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:1.4rem;line-height:1;display:flex;overflow:hidden}.photo-avatar-circle img{object-fit:cover;width:100%;height:100%}.photo-avatar-clear{background:var(--danger);color:#fff;border:1px solid var(--surface);border-radius:50%;width:20px;height:20px;padding:0;font-size:.65rem;line-height:1;position:absolute;top:-4px;right:-4px}.app-title-link{letter-spacing:.04em;text-transform:uppercase;color:var(--text-dim);margin-bottom:10px;font-size:.78rem;font-weight:700;text-decoration:none;display:inline-block}.app-title-link:hover{color:var(--accent)}.profile-card{flex-wrap:wrap;align-items:flex-start;gap:20px;display:flex}.profile-info{flex:1;min-width:200px}.profile-info h2{margin:0;font-size:1.3rem}.profile-title{color:var(--text-dim);margin-top:2px;margin-bottom:8px;font-size:.9rem}.profile-bio{margin:10px 0;font-size:.9rem;line-height:1.5}.profile-photo{object-fit:cover;border:1px solid var(--border);border-radius:50%;flex-shrink:0;width:96px;height:96px;font-size:1.8rem}.profile-edit-photo{margin-bottom:16px}.receta-card{padding:14px 16px}.receta-card-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.receta-card-header .button,.receta-card-header button{padding:5px 10px;font-size:.78rem}.report-total{font-variant-numeric:tabular-nums;margin:0;font-size:1.6rem;font-weight:700}.report-total .hint{margin-left:8px;font-size:.8rem;font-weight:400;display:inline}.income-stats{flex-wrap:wrap;gap:24px;display:flex}.income-stat{min-width:120px}.gate-card{max-width:420px;margin:40px auto}.gate-card h3{margin-top:0}.user-badge{color:var(--text-dim);align-items:center;gap:8px;margin-bottom:10px;font-size:.78rem;display:inline-flex}.user-badge button{color:var(--text-dim);cursor:pointer;background:0 0;border:none;padding:0;font-size:.78rem;text-decoration:underline}.user-badge button:hover{color:var(--accent)}.income-stat-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.03em;font-size:.78rem}.income-stat-value{font-variant-numeric:tabular-nums;margin-top:2px;font-size:1.7rem;font-weight:700}.chart-wrap{position:relative}.income-chart{width:100%;height:auto;display:block;overflow:visible}.chart-tooltip{background:var(--text);color:var(--bg);border-radius:var(--radius-sm);white-space:nowrap;pointer-events:none;box-shadow:var(--shadow-md);padding:6px 10px;font-size:.78rem;position:absolute;top:0;transform:translate(-50%)}.chart-tooltip strong{text-transform:capitalize;font-size:.72rem;font-weight:600;display:block}.patient-photo{object-fit:cover;border:1px solid var(--border);border-radius:50%;flex-shrink:0;width:52px;height:52px}.patient-photo-empty{background:var(--bg);border:1px dashed var(--border);color:var(--text-dim);justify-content:center;align-items:center;font-size:1.3rem;display:flex}.patient-photo-wrap{flex-direction:column;align-items:center;gap:3px;display:flex}.patient-photo-btn{cursor:pointer;background:0 0;border:none;border-radius:50%;padding:0}.patient-photo-btn:hover .patient-photo{border-color:var(--accent)}.patient-photo-btn:disabled{cursor:default}.patient-photo-label{color:var(--text-dim);white-space:nowrap;font-size:.66rem}.ficha-header-identity{align-items:center;gap:12px;display:flex}.print-patient-photo{object-fit:cover;border:1px solid var(--border);float:right;border-radius:8px;width:90px;height:90px}.cta-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:6px 0 18px;display:grid}.cta{border-radius:var(--radius-lg);color:#fff;letter-spacing:-.01em;transition:transform .18s var(--ease), box-shadow .18s var(--ease), filter .18s var(--ease);align-items:center;gap:14px;padding:16px 18px;font-size:1.1rem;font-weight:700;text-decoration:none;display:flex;box-shadow:0 8px 20px #00000024}.cta:hover{filter:brightness(1.05);transform:translateY(-3px);box-shadow:0 14px 28px #0003}.cta:active{transform:translateY(0)}.cta svg{box-sizing:content-box;background:#fff3;border-radius:14px;flex:none;width:28px;height:28px;padding:9px}.cta span{flex-direction:column;min-width:0;line-height:1.2;display:flex}.cta small{opacity:.9;margin-top:2px;font-size:.78rem;font-weight:500}.cta-form{background:linear-gradient(135deg,#0a84ff,#5e5ce6)}.cta-fact{background:linear-gradient(135deg,#12b886,#0a9a8f)}.cta-backup{background:linear-gradient(135deg,#ff9f0a,#ff5e3a)}.mobile-launch{display:none}@media (max-width:1050px){.main-layout{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.side-col{display:contents}.center-col{order:1;grid-column:1/-1;margin-top:4px}.side-col .card{box-shadow:none;background:0 0;border:none;order:0;padding:0}.side-col .card>:not(.mobile-launch):not(.overlay){display:none}.side-col .mobile-launch{border-radius:var(--radius-lg);color:#fff;letter-spacing:-.01em;cursor:pointer;border:none;flex-direction:column;justify-content:center;align-items:center;gap:6px;width:100%;min-height:92px;padding:12px 8px;font-size:.95rem;font-weight:700;display:flex;box-shadow:0 8px 20px #00000029}.side-col .mobile-cal{background:linear-gradient(135deg,#0a84ff,#5e5ce6)}.side-col .mobile-msg{background:linear-gradient(135deg,#12b886,#0a9a8f)}.side-col .mobile-clock{cursor:default;background:linear-gradient(135deg,#2c2c2e,#48484a)}.mobile-clock-time{font-variant-numeric:tabular-nums;font-size:1.7rem;font-weight:700}.mobile-clock-sub{opacity:.9;font-size:.85rem;font-weight:500}.cta-row{grid-template-columns:1fr}.cta{padding:14px 16px}}:root{--grad-primary:linear-gradient(135deg, #0a84ff, #5e5ce6);--grad-success:linear-gradient(135deg, #12b886, #0a9a8f);--grad-danger:linear-gradient(135deg, #ff5e3a, #d7362f);--btn-shadow:0 4px 12px #0a84ff47}button.primary,button.success,.button.primary{color:#fff;letter-spacing:-.005em;transition:transform .15s var(--ease), box-shadow .15s var(--ease), filter .15s var(--ease);border:none;font-weight:600}button.primary,.button.primary{background:var(--grad-primary);box-shadow:var(--btn-shadow)}button.success{background:var(--grad-success);box-shadow:0 4px 12px #12b88647}button.primary:hover,button.success:hover,.button.primary:hover{opacity:1;filter:brightness(1.07);transform:translateY(-1px)}button.primary:hover{background:var(--grad-primary)}button.success:hover{background:var(--grad-success)}button.primary:active,button.success:active{filter:brightness(.97);transform:scale(.98)}button.primary:disabled,button.success:disabled{box-shadow:none;filter:none;transform:none}button.primary:disabled:hover{background:var(--grad-primary)}button.danger,.button.danger{background:var(--grad-danger);color:#fff;border:none;font-weight:600;box-shadow:0 4px 12px #d7362f40}button.danger:hover,.button.danger:hover{background:var(--grad-danger);color:#fff;filter:brightness(1.07);transform:translateY(-1px)}button:not(.primary):not(.success):not(.danger):not(:disabled):hover,.button:not(.primary):not(.danger):hover{box-shadow:var(--shadow-sm)}.cta-setup{background:linear-gradient(135deg,#5e5ce6,#bf5af2)}a.cta{cursor:pointer}button.tint-teal,.button.tint-teal,button.tint-violet,.button.tint-violet,button.tint-amber,.button.tint-amber{color:#fff;transition:transform .15s var(--ease), filter .15s var(--ease);border:none;font-weight:600;box-shadow:0 4px 12px #00000029}button.tint-teal,.button.tint-teal{background:linear-gradient(135deg,#0a9a8f,#30b0c7)}button.tint-violet,.button.tint-violet{background:linear-gradient(135deg,#5e5ce6,#bf5af2)}button.tint-amber,.button.tint-amber{background:linear-gradient(135deg,#ff9f0a,#ff5e3a)}button.tint-teal:hover,.button.tint-teal:hover{filter:brightness(1.07);background:linear-gradient(135deg,#0a9a8f,#30b0c7);transform:translateY(-1px)}button.tint-violet:hover,.button.tint-violet:hover{filter:brightness(1.07);background:linear-gradient(135deg,#5e5ce6,#bf5af2);transform:translateY(-1px)}button.tint-amber:hover,.button.tint-amber:hover{filter:brightness(1.07);background:linear-gradient(135deg,#ff9f0a,#ff5e3a);transform:translateY(-1px)}@media (max-width:1050px){.cta-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.cta{text-align:center;flex-direction:column;justify-content:center;gap:6px;padding:12px 6px;font-size:.95rem}.cta small{display:none}.cta span{align-items:center}.cta svg{border-radius:12px;width:22px;height:22px;padding:8px}.setup-grid{grid-template-columns:1fr 1fr}.setup-grid .cta small{display:block}}.tabs{background:var(--accent-weak)}.tabs button{color:var(--accent);font-weight:600}.tabs button:hover{background:#0a84ff1f}.tabs button.active{color:#fff;background:var(--grad-primary);box-shadow:var(--btn-shadow)}.tabs button.active:hover{background:var(--grad-primary)}@media (max-width:1050px){.cta-row{grid-template-columns:repeat(2,minmax(0,1fr))}.cta-row.setup-grid{grid-template-columns:1fr}.cta-row.setup-grid .cta{text-align:left;flex-direction:row;justify-content:flex-start;padding:14px 16px}.cta-row.setup-grid .cta span{align-items:flex-start}}.user-widget{border-radius:var(--radius-lg);color:#fff;text-align:left;cursor:pointer;width:100%;transition:transform .18s var(--ease), box-shadow .18s var(--ease), filter .18s var(--ease);background:linear-gradient(135deg,#6db3f8,#8e94ee);border:none;align-items:center;gap:14px;padding:16px 18px;display:flex;box-shadow:0 10px 24px #6e96f047}.user-widget:hover{filter:brightness(1.05);background:linear-gradient(135deg,#6db3f8,#8e94ee);transform:translateY(-2px)}.user-widget-avatar{color:#fff;background:#ffffff38;border:2px solid #ffffffb3;border-radius:50%;flex:none;justify-content:center;align-items:center;width:64px;height:64px;padding:0;font-size:1.4rem;font-weight:700;display:flex;overflow:hidden}.user-widget-avatar.big{background:var(--grad-primary);cursor:pointer;width:110px;height:110px;font-size:2.2rem}.user-widget-avatar img{object-fit:cover;width:100%;height:100%;display:block}.user-widget-text{flex-direction:column;min-width:0;line-height:1.25;display:flex}.user-widget-text strong{text-overflow:ellipsis;white-space:nowrap;font-size:1.15rem;overflow:hidden}.user-widget-text small{opacity:.85;text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;overflow:hidden}.user-widget-text em{opacity:.9;margin-top:4px;font-size:.75rem;font-style:normal}@media (max-width:1050px){.side-col .user-widget{order:-1;grid-column:1/-1}}.user-widget{text-align:center;flex-direction:column;justify-content:center;gap:8px;min-height:190px;padding:20px 16px}.user-widget-text{align-items:center}.user-widget-role{border-radius:var(--radius-pill);background:#ffffff38;margin-top:6px;padding:3px 12px;font-size:.78rem;font-weight:600}@media (max-width:1050px){.side-col .user-widget{text-align:left;flex-direction:row;min-height:0}.side-col .user-widget .user-widget-text{align-items:flex-start}.side-col .user-widget .user-widget-avatar{width:56px;height:56px}}.cta-row{grid-template-columns:repeat(2,minmax(0,1fr))}.date-weather-card{transition:background 1s var(--ease);position:relative;overflow:hidden}.dwq-morning{background:linear-gradient(160deg,#fff4d6,#ffe0c2 55%,#fdd1d8)}.dwq-day{background:linear-gradient(160deg,#e3f1ff,#d5e6ff 55%,#e4dcff)}.dwq-night{background:linear-gradient(160deg,#24304f,#343a72 60%,#4b3f7c)}.dwq-morning,.dwq-day{--dwq-text:#1d1d1f;--dwq-dim:#5b5b63}.dwq-night{--dwq-text:#fff;--dwq-dim:#c8cbe6}.date-weather-card .dwq-greet{color:var(--dwq-dim);letter-spacing:.02em;font-size:.95rem;font-weight:600}.date-weather-card .dwq-clock{letter-spacing:-.03em;color:var(--dwq-text);font-variant-numeric:tabular-nums;font-size:3rem;font-weight:700;line-height:1.05}.date-weather-card .dwq-date{color:var(--dwq-dim);font-size:.9rem}.date-weather-card .dwq-weather{color:var(--dwq-text);font-size:1rem}.date-weather-card .dwq-quote{color:var(--dwq-dim)}.dwq-colon{margin:0 2px;animation:1s steps(2,start) infinite dwq-blink;display:inline-block}.dwq-progress{background:#78788c40;border-radius:999px;width:70%;height:4px;margin:6px 0 4px;overflow:hidden}.dwq-progress-fill{background:linear-gradient(90deg,#0a84ff,#bf5af2);border-radius:999px;height:100%;transition:width 1s linear}.dwq-weather-icon{font-size:1.6rem;animation:3.2s ease-in-out infinite dwq-float;display:inline-block}@keyframes dwq-blink{50%{opacity:.2}}@keyframes dwq-float{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@media (prefers-reduced-motion:reduce){.dwq-colon,.dwq-weather-icon{animation:none}.dwq-progress-fill{transition:none}}.print-letterhead .print-clinic-name{color:var(--text);font-size:1.15rem;font-weight:700}.print-letterhead .print-clinic-meta{color:var(--text-dim);margin-top:2px;font-size:.8rem}.print-letterhead .print-letterhead-title{color:var(--accent);margin-top:8px;font-size:.95rem;font-weight:600}@media (min-width:1051px){.user-widget,.date-weather-card{min-height:270px}.user-widget{justify-content:center}}@page{size:letter;margin:1.5cm}@page receta2{size:letter;margin:3.5cm 1.5cm 1.5cm}.receta-sheet-2{page:receta2}.print-page{font-size:10pt;line-height:1.4}.print-page :is(p,td,th,li,strong,div,span,label,small,a,h1,h3):not(.tooth-print-tag):not(.print-clinic-name):not(.periodontograma-lines){font-size:10pt}.print-page .print-clinic-name{font-size:12pt}.print-page .print-block h2{font-size:11pt}.print-page .receta-text{font-size:10pt;line-height:1.5}.print-page .print-logo{max-height:60px}.user-widget-avatar{border-width:3px;border-radius:22px 22px 16px 16px;width:112px;height:140px;box-shadow:0 6px 16px #0000002e}.user-widget-avatar img{object-position:center top}.user-widget-avatar.big{border-radius:26px 26px 18px 18px;width:150px;height:190px}@media (min-width:1051px){.user-widget{gap:6px;padding:16px}}@media (max-width:1050px){.side-col .user-widget .user-widget-avatar{border-radius:16px 16px 12px 12px;width:68px;height:86px}}.receta-print{line-height:1.25}.receta-print .print-letterhead{margin-bottom:10px;padding-bottom:8px}.receta-print .print-block{margin-bottom:8px}.receta-print .print-block h2{margin:6px 0 2px;padding-bottom:2px}.receta-print .print-block p{margin:2px 0}.receta-print .print-grid{gap:2px 24px}.print-page.receta-print .receta-text{line-height:1.3}.receta-print .signature-block{margin-top:24px}.app-title-link{letter-spacing:-.02em;text-transform:none;color:var(--text);margin-bottom:12px;font-size:1.5rem;line-height:1.15}.brand-name{font-size:1.5rem}@media (max-width:600px){.app-title-link,.brand-name{font-size:1.2rem}}.user-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.cta-user{text-align:left;background:linear-gradient(135deg,#5e5ce6,#0a84ff);border:none;font-family:inherit}.cta-user .user-widget-avatar{flex:none}.cta-user span{line-height:1.2}@media print{html{font-size:12px}body{background:#fff!important}.public-form-page{max-width:none!important;margin:0!important;padding:0!important}.public-form-page .public-form-submit,.public-form-page .public-form-photo-hint,.public-form-page .public-form-error,.public-form-page .signature-pad-clear,.public-form-page .photo-avatar-clear{display:none!important}.public-form-header{box-shadow:none!important;gap:8px!important;margin:0 0 4px!important;padding:4px 6px!important}.public-form-header img{height:34px}.public-form-header .brand-name{font-size:12pt}.public-form-intro{margin:2px 0 4px!important;font-size:8pt!important}.public-form{gap:4px!important}.public-form-page .card{break-inside:avoid;box-shadow:none!important;border:1px solid #b8b8c0!important;border-radius:4px!important;margin:0!important;padding:5px 8px!important}.public-form-page .card h3{margin:0 0 3px!important;font-size:9pt!important}.public-form-page .card p,.public-form-page .hint,.public-form-page .qrow,.public-form-page .checkrow,.public-form-page label,.public-form-page span{font-size:7.5pt!important;line-height:1.2!important}.public-form-page .field{gap:1px!important;margin:0!important}.public-form-page input,.public-form-page select,.public-form-page textarea{background:#fff!important;border:none!important;border-bottom:1px solid #777!important;border-radius:0!important;height:auto!important;min-height:0!important;padding:1px 4px!important;font-size:8pt!important}.public-form-page textarea{height:22px!important}.public-form-page .grid2{gap:3px 10px!important}.public-form-page .qrow{gap:4px!important;margin:0!important;padding:0!important}.public-form-page .yesno button{min-height:0!important;box-shadow:none!important;padding:0 6px!important;font-size:7pt!important}.public-form-page .checkrow{gap:2px 8px!important}.public-form-page .signature-pad-canvas{height:44px!important}.public-form-page .signature-pad-wrap{min-height:0!important}.public-form-page .photo-avatar-circle{width:56px!important;height:56px!important}.public-form-page .declaracion-text,.public-form-page .declaracion-text *{font-size:7pt!important;line-height:1.15!important}@page{size:letter;margin:1cm 1cm 1.3cm;@bottom-center{content:counter(page);font-size:8pt;color:#555}}.public-form{grid-template-columns:1fr 1fr;align-items:start;gap:4px 6px!important;display:grid!important}.public-form-page .public-form>.card{break-inside:avoid}.public-form-page .public-form>.card:first-child,.public-form-page .signature-section{grid-column:1/-1}.public-form-page .grid2{grid-template-columns:1fr 1fr}}@page formpage{size:letter;margin:0}@media print{.public-form-page{page:formpage;padding:1cm 1cm 1.4cm!important}.public-form-page:after{content:"1";text-align:center;color:#555;font-size:8pt;position:fixed;bottom:.5cm;left:0;right:0}}.print-letterhead{text-align:left;margin:0 0 10px;padding:0 0 6px}.print-letterhead .print-lh-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.print-letterhead .print-lh-text{min-width:0}.print-page .print-letterhead .print-logo{flex:none;order:2;max-height:34px;margin:0}.print-page .print-letterhead .print-clinic-name{font-size:10pt;font-weight:700;line-height:1.15}.print-page .print-letterhead .print-clinic-meta{margin-top:1px;font-size:7pt;line-height:1.2}.print-page .print-letterhead .print-letterhead-title{color:var(--accent);margin-top:3px;font-size:8pt;font-weight:700;line-height:1.2}.print-page .print-letterhead .print-lh-patient{color:var(--text);font-size:8pt;font-weight:600}@page fichapage{size:letter;margin:0}@media print{.print-page{page:fichapage;padding:0 1.5cm!important}.print-sheet{width:100%;display:table}.print-sheet>.print-letterhead{display:table-header-group}.print-sheet>.print-letterhead .print-lh-row{border-bottom:1.5px solid var(--accent);margin-bottom:8px;padding-top:1.2cm;padding-bottom:5px}.print-sheet:after{content:"";height:1.2cm;display:table-footer-group}.print-sheet .print-letterhead{border-bottom:none}.print-sheet.receta-sheet-2{page:fichapage;padding-top:3.5cm;display:block}.print-sheet.receta-sheet-2:after{display:none}}:root{--accent-weak:#d6e8ff;--teal-weak:#cdeee9;--danger-weak:#fbd5d2}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--accent-weak:#16385f}}.user-widget,.user-widget:hover{background:linear-gradient(135deg,#0a84ff,#5e5ce6);box-shadow:0 12px 26px #0a84ff61}.week-event{color:#fff;background:linear-gradient(135deg,#0a84ff,#5e5ce6);border:none;box-shadow:0 2px 6px #0a84ff4d}.week-event .week-event-time,.week-event .week-event-title{color:#fff}.week-event.status-cancelled{background:linear-gradient(135deg,#ff5e3a,#d7362f);box-shadow:0 2px 6px #d7362f4d}.week-event.status-showed,.week-event.status-confirmed{background:linear-gradient(135deg,#12b886,#0a9a8f);box-shadow:0 2px 6px #12b8864d}.week-day-header{color:var(--accent);font-weight:700}.week-day-header span{color:var(--text);font-weight:600}.badge.source-invoice{color:#fff;background:#12b886}.badge.source-cita{color:#fff;background:#0a84ff}.badge.source-nota{color:#fff;background:#6e6e73}.badge.source-estimate{color:#fff;background:#ff9f0a}.product-chips{flex-wrap:wrap;gap:8px;max-height:190px;margin-bottom:12px;padding:2px;display:flex;overflow-y:auto}.product-chip{border-radius:var(--radius-md);border:1.5px solid var(--accent);background:var(--accent-weak);max-width:200px;color:var(--text);text-align:left;flex-direction:column;align-items:flex-start;gap:2px;padding:8px 12px;line-height:1.2;display:flex;position:relative}.product-chip:hover{background:var(--accent-weak);filter:brightness(.97)}.product-chip.on{background:var(--grad-primary);color:#fff;box-shadow:var(--btn-shadow);border-color:#0000}.product-chip-name{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.8rem;font-weight:600;overflow:hidden}.product-chip-price{opacity:.85;font-size:.74rem}.product-chip-count{color:#fff;background:#ff9f0a;border-radius:999px;justify-content:center;align-items:center;min-width:22px;height:22px;padding:0 6px;font-size:.72rem;font-weight:700;display:flex;position:absolute;top:-7px;right:-7px}.patient-photo{width:156px;height:156px}.patient-photo-empty{font-size:3rem}.patient-photo-label{font-size:.8rem}@media (max-width:600px){.patient-photo{width:110px;height:110px}}@media print{.public-form-page .spa-alertas{grid-column:1/-1}.public-form-page .spa-alertas .checkrow{grid-template-columns:repeat(3,minmax(0,1fr));gap:1px 10px;display:grid!important}}.print-page.theme-medical{--accent:#76408f;--accent-weak:#eadff2}.med-doc{--med:#76408f;--med-weak:#eadff2;font-size:9.5pt}.med-title-row{justify-content:space-between;align-items:flex-end;margin-bottom:2px;display:flex}.med-title{text-align:center;color:var(--med);letter-spacing:-.01em;flex:1;margin:0;font-size:22pt;font-weight:800}.med-fecha{white-space:nowrap;font-size:9.5pt}.med-h{color:var(--med);border-bottom:1.5px solid var(--med);margin:10px 0 5px;padding-bottom:2px;font-size:12pt;font-weight:800}.med-row{gap:14px;display:flex}.med-row>.med-line{flex:1}.med-line{border-bottom:1px solid var(--med);align-items:flex-end;gap:6px;min-height:17px;margin:4px 0;display:flex}.med-line-label{white-space:nowrap}.med-line-value{flex:1;font-weight:600}.med-radio{margin-right:8px}.med-ant{grid-template-columns:1fr 1fr;column-gap:14px;display:grid}.med-ant-cell{justify-content:space-between;align-items:center;gap:8px;min-height:42px;padding:6px 8px;display:flex}.med-ant-cell.band{background:var(--med-weak)}.med-ant-q{flex:1;line-height:1.25}.med-ant-d{font-size:8.5pt}.med-yn{white-space:nowrap;align-items:center;gap:4px;display:flex}.med-box{border:1px solid var(--med);justify-content:center;align-items:center;width:20px;height:20px;margin-left:4px;font-weight:700;display:inline-flex}.med-box.wide{width:24px}.med-q{margin:8px 0}.med-a{border-bottom:1px solid var(--med);white-space:pre-wrap;min-height:34px;margin:3px 0 0 14px}.med-exp{background:var(--med);color:#fff;border-radius:4px;grid-template-columns:repeat(4,1fr);gap:6px 14px;padding:8px 10px;display:grid}.med-exp-cell{align-items:center;gap:6px;display:flex}.med-exp-cell>span:first-child{white-space:nowrap}.med-pill{color:#111;background:#fff;border-radius:999px;flex:1;min-height:18px;padding:0 8px}.med-page2{break-before:page;page-break-before:always;padding-top:6px}.med-dp{border:1px solid var(--med);grid-template-columns:1fr 1fr;margin-top:8px;display:grid}.med-dp-box{min-height:260px;padding:0 8px 8px}.med-dp-box+.med-dp-box{border-left:1px solid var(--med)}.med-dp-box h3{color:var(--med);margin:6px 0;font-size:11pt}.med-dp-text{white-space:pre-wrap}.med-firmas{text-align:center;justify-content:center;gap:60px;margin-top:18px;display:flex}.med-firma{width:240px}.med-firma-line{border-top:1px solid var(--med);margin:2px 0 3px}@media print{.med-exp,.med-ant-cell.band,.med-pill{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.chat-widget{z-index:900;flex-direction:column;align-items:flex-end;gap:10px;display:flex;position:fixed;bottom:18px;right:18px}.chat-fab{background:var(--accent,#0071e3);color:#fff;cursor:pointer;border:none;border-radius:50%;width:54px;height:54px;padding:0;font-size:24px;position:relative;box-shadow:0 6px 20px #00000040}.chat-badge{color:#fff;background:#ff3b30;border-radius:10px;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 5px;font-size:12px;font-weight:700;display:flex;position:absolute;top:-4px;right:-4px}.chat-panel{background:var(--card,#fff);width:min(340px,100vw - 36px);height:min(460px,100vh - 110px);color:inherit;border:1px solid #8080804d;border-radius:14px;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 10px 34px #00000047}.chat-head{border-bottom:1px solid #80808040;justify-content:space-between;align-items:center;padding:10px 12px;display:flex}.chat-head button{cursor:pointer;color:inherit;background:0 0;border:none;padding:0 4px;font-size:22px;line-height:1}.chat-body{flex-direction:column;flex:1;gap:8px;padding:10px;display:flex;overflow-y:auto}.chat-msg{align-self:flex-start;max-width:85%}.chat-msg.mine{text-align:right;align-self:flex-end}.chat-meta{opacity:.65;margin-bottom:2px;font-size:11px}.chat-text{text-align:left;white-space:pre-wrap;word-break:break-word;background:#8080802e;border-radius:12px;padding:7px 10px;display:inline-block}.chat-msg.mine .chat-text{color:#fff;background:#0071e3}.chat-form{border-top:1px solid #80808040;gap:6px;padding:8px;display:flex}.chat-form input{flex:1;min-width:0}@media print{.chat-widget{display:none}}.page.page-wide{max-width:1760px}.page.page-home{max-width:1680px}.page-home .main-layout{grid-template-columns:300px minmax(0,1fr) 270px}.week-event.has-color{background:var(--ev-color);box-shadow:0 2px 6px #0003}.week-event.has-color.status-cancelled,.week-event.has-color.status-noshow{opacity:.55}.week-event.has-color.status-cancelled .week-event-title{text-decoration:line-through}
