:root{--bg: #f6f8fa;--surface: #ffffff;--ink: #17202c;--muted: #667085;--line: #e1e6ee;--primary: #2c9a16;--primary-strong: #1f7d0e;--primary-light: #e8f9e2;--sidebar: #0d1416;--danger: #b3261e;--success: #23724d;--warning: #8a5a12;--shadow-sm: 0 6px 18px rgba(16, 24, 40, .045);--shadow-md: 0 18px 46px rgba(16, 24, 40, .11)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select,textarea{font:inherit}button{min-height:38px;border:0;border-radius:6px;padding:9px 14px;background:var(--primary);color:#fff;cursor:pointer;transition:background .16s ease,color .16s ease,border-color .16s ease,transform .16s ease,box-shadow .16s ease}button:hover{background:var(--primary-strong)}button.quiet{background:#e9eef4;color:var(--ink)}button.quiet:hover{background:#dfe7f0}button.danger{background:var(--danger)}button.is-click-loading,.button-like.is-click-loading{position:relative;pointer-events:none;opacity:.82}button.is-click-loading:after,.button-like.is-click-loading:after{content:"";width:14px;height:14px;margin-left:8px;display:inline-block;vertical-align:-2px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .75s linear infinite}.icon-button.is-click-loading:after,.notification-read-button.is-click-loading:after{position:absolute;inset:9px;width:auto;height:auto;margin:0}.button-like{min-height:38px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;padding:9px 14px;text-decoration:none;background:var(--primary);color:#fff}.button-like.quiet{background:#e9eef4;color:var(--ink)}button.icon-button{width:34px;height:34px;min-height:34px;min-width:34px;padding:0;border-radius:6px;background:#e9eef4;color:var(--ink);display:inline-grid;place-items:center;line-height:1;flex:0 0 auto}button.primary-icon{position:relative;width:42px;height:42px;min-height:42px;min-width:42px;border-radius:50%;background:var(--primary);color:transparent;font-size:24px;line-height:0;font-weight:700;display:inline-grid;place-items:center;text-align:center;overflow:visible}button.primary-icon:before{content:"+";position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-size:25px;line-height:1;font-weight:800;transform:translateY(-1px)}button.primary-icon:hover{background:var(--primary-strong);color:transparent}button.active-icon{background:#2c9a161f;color:var(--primary)}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:6px;padding:10px;background:#fff;color:var(--ink);outline:none;transition:border-color .16s ease,box-shadow .16s ease}input[readOnly],textarea[readOnly]{background:#f8fafc;color:#475467}.status-select{width:auto;min-width:128px;padding:7px 28px 7px 9px;border-color:#b9dfaf;background-color:#f7fbf5;color:var(--ink);font-size:12px;font-weight:700}.compact-select{min-height:36px;padding:7px 30px 7px 10px;border-radius:6px;font-size:13px;line-height:1.2}input:focus,select:focus,textarea:focus{border-color:#8ccf7c;box-shadow:0 0 0 3px #2c9a161f}textarea{min-height:88px;resize:vertical}label{display:grid;gap:6px;color:var(--muted);font-size:13px}.ss-wrap{position:relative}.ss-trigger{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:38px;padding:0 12px;border:1px solid var(--line);border-radius:6px;background:#fff;cursor:pointer;font-size:14px;transition:border-color .18s,box-shadow .18s;-webkit-user-select:none;user-select:none}.ss-trigger:hover{border-color:#8ccf7c}.ss-trigger.ss-open{border-color:var(--primary);box-shadow:0 0 0 3px #2c9a161f}.ss-trigger.ss-disabled{background:var(--bg);cursor:default;opacity:.65}.ss-input{flex:1;border:none;outline:none;background:transparent;font:inherit;font-size:14px;min-height:0;padding:8px 0}.ss-label{flex:1;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:8px 0}.ss-placeholder{flex:1;color:#94a3b8;padding:8px 0}.ss-chevron{flex-shrink:0;color:var(--muted);transition:transform .15s}.ss-trigger.ss-open .ss-chevron{transform:rotate(180deg)}.ss-dropdown{background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 24px #0000001f;max-height:260px;overflow-y:auto;overscroll-behavior:contain}.ss-option{display:block;width:100%;text-align:left;padding:9px 14px;border:none;background:none;cursor:pointer;font-size:13px;color:var(--ink);transition:background .1s}.ss-option:hover{background:var(--bg)}.ss-option.ss-selected{color:var(--primary);font-weight:700;background:#f0fdf4}.ss-empty{padding:12px 14px;font-size:13px;color:var(--muted)}.file-upload-field small{color:#667085;font-size:12px;line-height:1.35}.file-upload-field input[type=file]{padding:8px}.file-upload-preview{width:72px;height:72px;object-fit:contain;border:1px solid var(--line);border-radius:8px;background:#f8fafc;padding:4px}.access-card{display:grid;gap:10px;padding:12px;border:1px solid var(--line);border-radius:8px;background:#fbfcfd}.access-card div{display:flex;justify-content:space-between;gap:12px;align-items:center;border-bottom:1px solid #eef2f6;padding-bottom:8px}.access-card div:last-child{border-bottom:0;padding-bottom:0}.access-card span{color:var(--muted);font-size:12px}.access-card strong{text-align:right}.secretary-list{display:grid;gap:8px;margin-top:12px}.secretary-card{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:#fff}.secretary-card>div:first-child{display:grid;gap:2px}.secretary-card .actions{display:flex;flex-direction:row;align-items:center;gap:4px;flex-shrink:0}.secretary-card small{color:var(--muted)}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(28px,4vw,42px);line-height:1.06;margin-bottom:10px}h2{font-size:21px;margin-bottom:14px}table{width:100%;border-collapse:separate;border-spacing:0;background:#fff}th,td{border-bottom:1px solid var(--line);padding:11px 12px;text-align:left;vertical-align:middle}th{color:var(--muted);font-size:12px;background:#fbfcfe;font-weight:700;text-transform:uppercase}tbody tr:hover td{background:#fcfdfc}.hidden{display:none!important}.muted,.message,small{color:var(--muted)}@keyframes spin{to{transform:rotate(360deg)}}.global-busy{position:fixed;right:18px;bottom:18px;z-index:80;min-height:38px;display:inline-flex;align-items:center;gap:9px;padding:9px 13px;border:1px solid #cfe6ca;border-radius:999px;background:#fffffff5;color:var(--primary-strong);box-shadow:var(--shadow-md);font-size:13px;font-weight:650}.global-busy span{width:15px;height:15px;border:2px solid var(--primary);border-right-color:transparent;border-radius:50%;animation:spin .75s linear infinite}.form-note{margin:0;color:var(--muted);font-size:12px;line-height:1.45}.calendar-shell{margin-top:14px}.calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.calendar-header strong{text-transform:capitalize}.calendar-weekdays,.calendar-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-weekdays span{padding:8px;color:var(--muted);font-size:12px;font-weight:700;text-align:center}.panel-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.calendar-cell{min-height:58px;border:1px solid var(--line);padding:8px;background:#fbfcfd;overflow:hidden}.calendar-cell.empty{background:#f1f4f7}.calendar-cell.busy{background:#f7fbf5;border-color:#b9dfaf}.calendar-cell-head{display:grid;justify-items:center;gap:4px;margin-bottom:0}.calendar-cell-head h3{margin-bottom:0;font-size:14px}.calendar-cell-head span{min-width:24px;height:24px;display:grid;place-items:center;border-radius:999px;background:#2c9a161f;color:var(--primary);font-size:12px;font-weight:700}.calendar-events-scroll{display:none}.calendar-event{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 8px;border-left:3px solid var(--primary);border-radius:6px;padding:8px;background:#fff;box-shadow:var(--shadow-sm)}.appointments-page{display:grid;gap:18px;padding:28px;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:var(--shadow-sm)}.agenda-header{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}.agenda-header .eyebrow{display:none}.agenda-header h2{margin-bottom:6px;font-size:28px;line-height:1.15}.agenda-header .message{margin-bottom:0;color:#536173;font-size:16px}.agenda-header-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:12px}.agenda-date-control,.agenda-tabs{display:inline-flex;align-items:center;gap:0;min-height:52px;padding:0;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:var(--shadow-sm)}.agenda-date-control .icon-button,.agenda-tabs button{width:48px;height:48px;min-height:48px;border-radius:0;background:transparent;color:var(--ink)}.date-pill{display:inline-flex;align-items:center;gap:10px;min-width:246px;min-height:48px;border:0;border-left:1px solid var(--line);border-right:1px solid var(--line);border-radius:0;background:#fff;color:var(--ink);font-weight:800;text-transform:none}.date-pill:hover,.agenda-date-control .icon-button:hover{background:#f7fbf5}.agenda-tabs button{width:auto;min-width:72px;padding:0 18px;border-left:1px solid var(--line);color:#344054;font-weight:700}.agenda-tabs button:first-child{border-left:0}.agenda-tabs button.active{margin:4px;min-height:40px;border:1px solid #bfe3b7;border-radius:6px;background:#eef8ea;color:var(--primary-strong);box-shadow:none}.icon-action{min-height:52px;display:inline-flex;align-items:center;gap:10px;padding:0 22px;border:1px solid var(--line);background:#fff!important;color:var(--ink)!important;box-shadow:var(--shadow-sm)}.primary-action{min-height:52px;display:inline-flex;align-items:center;gap:12px;padding:0 24px;border-radius:8px;background:linear-gradient(180deg,#35af1d,var(--primary));font-size:16px;font-weight:800;box-shadow:0 12px 22px #2c9a1638}.primary-action span{font-size:28px;line-height:1;transform:translateY(-1px)}.team-filter-bar{display:flex;align-items:end;gap:10px;padding:12px;border:1px solid var(--line);border-radius:8px;background:#fbfcfd}.team-filter-bar label{max-width:320px}.agenda-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}@media(max-width:700px){.agenda-metrics{grid-template-columns:repeat(2,1fr);gap:10px}}.agenda-metric{min-height:100px;display:grid;grid-template-columns:64px minmax(0,1fr);align-items:center;gap:14px;padding:18px;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:var(--shadow-sm)}@media(max-width:700px){.agenda-metric{min-height:auto;grid-template-columns:44px minmax(0,1fr);gap:10px;padding:14px 12px}}.agenda-metric>span{width:64px;height:64px;display:grid;place-items:center;border-radius:50%;background:#eaf2ff;color:#2f6dd4}.agenda-metric svg{width:28px;height:28px}.agenda-metric div{min-width:0;display:grid;gap:3px}.agenda-metric small{color:#58677b;font-size:13px;font-weight:700}.agenda-metric strong{color:#162033;font-size:30px;line-height:1}.agenda-metric em{color:#2f6dd4;font-size:13px;font-style:normal}@media(max-width:700px){.agenda-metric>span{width:44px;height:44px}.agenda-metric svg{width:20px;height:20px}.agenda-metric small{font-size:11px}.agenda-metric strong{font-size:22px}.agenda-metric em{font-size:11px}}.agenda-metric.warn>span{background:#fff1cb;color:#f5a400}.agenda-metric.warn em{color:#f29900}.agenda-metric.success>span{background:#e6f5e8;color:#229a32}.agenda-metric.success em{color:#229a32}.agenda-metric.danger>span{background:#fde8e4;color:#ef6547}.agenda-metric.danger em{color:#e53b20}.agenda-metric--clickable{cursor:pointer;text-align:left;border:none;background:#fff!important;width:100%;transition:box-shadow .15s,transform .1s}.agenda-metric--clickable:hover{background:#fff!important;box-shadow:0 4px 16px #0000001f!important;transform:translateY(-2px);color:inherit}.agenda-metric--highlight{border-color:#fbbf24!important;box-shadow:0 0 0 3px #fbbf242e,var(--shadow-sm)!important}.agenda-metric--highlight strong{color:#d97706}.pending-inline-banner{display:flex;align-items:center;gap:8px;width:100%;text-align:left;padding:10px 14px;background:#fffbeb;border:1px solid #fbbf24;border-radius:8px;color:#92400e;font-size:13px;cursor:pointer;transition:background .15s}.pending-inline-banner:hover{background:#fef3c7!important;color:#92400e!important;box-shadow:none!important;transform:none!important}.pending-inline-banner span{flex:1}.pending-inline-banner svg{flex-shrink:0;color:#f59e0b}.next-turn-card{display:none}.agenda-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:20px;align-items:start}.agenda-main,.agenda-side>section,.agenda-tip{border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:var(--shadow-sm)}.agenda-main{padding:0;overflow:visible}.agenda-list-head,.appointment-card{display:grid;grid-template-columns:120px minmax(230px,1.2fr) minmax(180px,1fr) minmax(150px,.8fr) 130px 96px;align-items:center;gap:12px}.agenda-list-head{min-height:54px;padding:0 24px;border-bottom:1px solid var(--line);color:#536173;font-size:13px;font-weight:800}.agenda-day-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:54px;padding:0 24px;border-bottom:1px solid var(--line);background:#fbfcfd}.agenda-day-heading h3{margin-bottom:0;display:inline-flex;align-items:center;gap:10px;text-transform:none;font-size:16px}.agenda-day-heading h3 svg{color:#6b7a90}.agenda-day-heading span{color:var(--muted);font-size:13px}.agenda-timeline{display:grid}.appointment-card{display:block;min-height:82px;padding:14px 24px;border-bottom:1px solid var(--line);background:#fff}.appointment-card-row{display:grid;grid-template-columns:120px minmax(230px,1.2fr) minmax(180px,1fr) minmax(150px,.8fr) 130px 96px;align-items:center;gap:12px}.appointment-card:last-child{border-bottom:0}.appointment-card:hover{background:#fcfdfc}.appointment-time{display:grid;gap:4px}.appointment-time strong{font-size:18px;line-height:1}.appointment-time span,.appointment-main p{color:var(--muted);font-size:14px}.appointment-patient{min-width:0;display:flex;align-items:center;gap:14px;cursor:pointer}.appointment-avatar{width:46px;height:46px;flex:0 0 46px;display:grid;place-items:center;border-radius:50%;background:#e5efff;color:#2f6dd4;font-weight:800}.appointment-card:nth-child(4n+1) .appointment-avatar{background:#fff3d8;color:#d58a00}.appointment-card:nth-child(4n+2) .appointment-avatar{background:#e4f6ee;color:#1b9468}.appointment-card:nth-child(4n+3) .appointment-avatar{background:#f0e7fb;color:#8b4ad0}.appointment-main{min-width:0}.appointment-main h3,.appointment-reason strong{margin:0 0 5px;display:block;color:var(--ink);font-size:15px;font-weight:850;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.appointment-main p{margin-bottom:0}.appointment-reason{min-width:0;display:grid;gap:6px}.appointment-tags{display:flex;gap:6px;flex-wrap:wrap}.appointment-tags span,.recurring-chip{width:fit-content;padding:4px 9px;border-radius:6px;background:#f0f3f7;color:#536173;font-size:12px;font-weight:800}.recurring-chip{background:#eef4ff!important;color:#2357a3!important}.online-reservation-chip{background:#e8f7f0!important;color:#16835f!important}.shared-chip{background:#edf7ff!important;color:#1f6f9f!important}.appointment-team{min-width:0;color:var(--ink);font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.appointment-state{display:flex;align-items:center}.appointment-status{display:inline-flex;justify-content:center;min-width:92px;padding:8px 12px;border-radius:6px;font-size:13px;font-weight:800}.appointment-status.pending{background:#fff4dc;color:#e18700}.appointment-status.confirmed{background:#e9f7ed;color:#218f31}.appointment-status.done{background:#dbf3e1;color:#1d7e2d}.appointment-status.cancelled{background:#fde9e5;color:#e53b20}.appointment-status.absent{background:#fff0e0;color:#b45309}.appointment-shared-panel{margin-top:10px;padding-left:132px}.appointment-shared-panel summary{width:fit-content;cursor:pointer;color:var(--primary);font-size:12px;font-weight:700}.shared-participant-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.shared-participant{display:inline-flex;align-items:center;gap:6px;min-height:28px;padding:5px 9px;border:1px solid var(--line);border-radius:6px;background:#f8fafc;color:var(--ink);font-size:12px;font-weight:650}.shared-participant small{color:var(--muted);font-size:11px;font-weight:500}.shared-participant.owner{border-color:#cfe2ff;background:#f3f8ff}.shared-participant.aprobado{border-color:#cfeedd;background:#f2fbf6}.shared-participant.rechazado{border-color:#ffd7d7;background:#fff5f5}.shared-participant.empty{color:var(--muted);font-weight:500}.detail-shared-panel{padding-left:0;margin:4px 0 10px}.shared-selector{display:grid;gap:10px}.shared-selector-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px}.shared-member-option,.shared-all-option{min-height:36px;padding:8px 10px;border:1px solid var(--line);border-radius:6px;background:#fbfcfd}.appointment-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.appointment-actions .icon-button,.appointment-menu summary{width:38px;height:38px;min-height:38px;display:grid;place-items:center;border:1px solid var(--line);border-radius:8px;background:#fff;color:#344054}.appointment-menu{position:relative}.appointment-menu summary{list-style:none;cursor:pointer;font-weight:900}.appointment-menu summary::-webkit-details-marker{display:none}.appointment-menu div{position:absolute;right:0;top:calc(100% + 8px);z-index:12;min-width:220px;display:grid;gap:4px;padding:8px;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:var(--shadow-md)}.appointment-menu button{width:100%;justify-content:flex-start;background:transparent;color:var(--ink);text-align:left}.appointment-menu button:hover{background:#f4f8f4}.appointment-menu .danger-menu{color:var(--danger)}.appointment-quick-actions{display:flex;gap:6px;padding-top:8px;border-top:1px solid var(--line);margin-top:4px}.qa-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:5px;padding:6px 8px;border-radius:8px;font-size:.78rem;font-weight:600;border:1px solid transparent;cursor:pointer;background:transparent;transition:opacity .15s}.qa-btn svg{width:15px;height:15px;flex-shrink:0}.qa-confirm{color:#16a34a;background:#f0fdf4;border-color:#bbf7d0}.qa-done{color:#2563eb;background:#eff6ff;border-color:#bfdbfe}.qa-cancel{color:#dc2626;background:#fef2f2;border-color:#fecaca}.qa-confirm:hover{background:#16a34a;border-color:#16a34a;color:#fff}.qa-done:hover{background:#2563eb;border-color:#2563eb;color:#fff}.qa-cancel:hover{background:#dc2626;border-color:#dc2626;color:#fff}.agenda-empty{min-height:380px;display:grid;place-items:center;align-content:center;gap:12px;padding:32px;text-align:center}.agenda-side{display:grid;gap:20px}.agenda-mobile-quick{display:none}.agenda-mini-calendar,.day-summary,.agenda-tip{padding:22px}.mini-calendar-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:18px}.mini-calendar-head h3,.day-summary h3{margin-bottom:0;text-align:center;text-transform:capitalize;font-size:18px}.mini-weekdays,.mini-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px 6px}.mini-weekdays{margin-bottom:10px}.mini-weekdays span{color:var(--muted);text-align:center;font-size:12px;font-weight:800}.mini-days button,.mini-days span{position:relative;min-height:38px;padding:0;display:grid;place-items:center;border-radius:50%;background:transparent;color:var(--ink);font-weight:600}.mini-days button:hover{background:#f1f5f2}.mini-days button.selected{background:var(--primary);color:#fff;box-shadow:0 6px 14px #2c9a163d}.mini-days i{position:absolute;bottom:3px;width:5px;height:5px;border-radius:50%;background:var(--primary)}.mini-days button.selected i{background:#fff}.day-summary{display:grid;gap:16px}.day-summary h3{text-align:left}.summary-content{display:grid;grid-template-columns:118px minmax(0,1fr);align-items:center;gap:18px}.summary-ring{width:112px;height:112px;border-radius:50%;background:conic-gradient(#78c878 0 58%,#f5bf12 58% 76%,#9aa7b8 76% 88%,#f06445 88% 100%);position:relative}.summary-ring:after{content:"";position:absolute;inset:28px;border-radius:50%;background:#fff}.summary-legend{display:grid;gap:11px}.summary-legend div{display:grid;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:10px;color:#344054;font-size:14px}.summary-legend i{width:10px;height:10px;border-radius:3px;background:#9aa7b8}.summary-legend i.success{background:#35a936}.summary-legend i.warn{background:#f5bf12}.summary-legend i.info{background:#9aa7b8}.summary-legend i.danger{background:#f06445}.summary-total{display:flex;justify-content:space-between;align-items:center;padding-top:16px;border-top:1px solid var(--line);color:#344054;font-size:16px}.agenda-tip{position:relative;padding-left:58px;background:linear-gradient(135deg,#eef9f1,#f4fbf7);border-color:#d7f0dc}.agenda-tip:before{content:"";position:absolute;left:22px;top:22px;width:22px;height:22px;border-radius:6px;background:var(--primary);opacity:.16}.agenda-tip .icon-button{position:absolute;right:10px;top:10px}.agenda-tip strong{color:var(--primary-strong)}.agenda-tip p{margin:8px 0 0;color:#536173;line-height:1.45}.agenda-conflicts{display:grid;gap:8px;padding:12px;border:1px solid #f2c98b;border-radius:8px;background:#fff8ed}.agenda-conflicts p{margin-bottom:0;color:var(--muted)}.agenda-conflicts div{display:grid;gap:2px;padding:8px;border-radius:6px;background:#fff}.recurrence-days{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:8px}.appointment-detail{display:grid;gap:16px}.agenda-fab{display:none}.calendar-event-main{min-height:0;padding:0;background:transparent;color:var(--ink);text-align:left}.calendar-event-main:hover{background:transparent;color:var(--primary)}.calendar-event-main strong,.calendar-event-main span,.calendar-event-main small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-event span,.calendar-event small{display:block}.calendar-event .badge{align-self:start;white-space:nowrap}.calendar-event-actions{grid-column:1 / -1;display:none}.calendar-event:hover .calendar-event-actions,.calendar-event:focus-within .calendar-event-actions{display:flex}.calendar-empty{margin-top:14px;border:1px dashed var(--line);border-radius:8px;padding:22px;color:var(--muted);text-align:center}.communication-list{display:grid;gap:12px}.communication-card{border:1px solid var(--line);border-radius:10px;padding:14px;background:#fff;box-shadow:var(--shadow-sm)}.communication-card header{display:flex;gap:10px;align-items:flex-start}.communication-card h3{margin:6px 0 0}.communication-card p{margin:12px 0;white-space:pre-wrap;color:var(--ink)}.communication-card footer{display:flex;justify-content:space-between;gap:12px;padding-top:10px;border-top:1px solid #edf1f5}.home-summary{display:flex;align-items:center;justify-content:space-between;gap:18px}.home-summary h2{margin-bottom:6px}.home-summary .message{margin-bottom:0}.summary-pills{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.summary-pill{min-width:132px;display:grid;grid-template-columns:22px 1fr;align-items:center;gap:4px 8px;border:1px solid var(--line);border-radius:8px;padding:10px 12px;background:#fbfcfd;color:var(--muted);font-size:12px}.summary-pill strong{color:var(--ink);font-size:20px;line-height:1}.summary-pill .app-icon{grid-row:span 2;color:var(--primary)}@media(max-width:760px){.home-summary{display:grid;gap:14px}.summary-pills{justify-content:stretch}.summary-pill{min-width:0;flex:1 1 120px}.appointments-mobile-panel .table-wrapper,.appointments-mobile-panel table,.appointments-mobile-panel tbody,.appointments-mobile-panel tr,.appointments-mobile-panel td{display:block;width:100%}.appointments-mobile-panel thead{display:none}.appointments-mobile-panel tr{border:1px solid var(--line);border-radius:8px;padding:12px;margin-bottom:10px;background:#fff;box-shadow:var(--shadow-sm)}.appointments-mobile-panel td{border:0;padding:6px 0}.appointments-mobile-panel td:before{display:block;color:var(--muted);font-size:11px;font-weight:700;text-transform:uppercase;margin-bottom:3px}.appointments-mobile-panel td:nth-child(1):before{content:"Fecha"}.appointments-mobile-panel td:nth-child(2):before{content:"Horario"}.appointments-mobile-panel td:nth-child(3):before{content:"Paciente"}.appointments-mobile-panel td:nth-child(4):before{content:"Profesional"}.appointments-mobile-panel td:nth-child(5):before{content:"Estado"}.appointments-mobile-panel td:nth-child(6):before{content:"Acciones"}.appointments-mobile-panel .status-select{width:100%}}@media(max-width:760px){.calendar-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-month-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.calendar-cell.empty{display:block}.calendar-cell{min-height:54px;border-radius:6px;padding:6px}.calendar-cell-head{display:grid;justify-items:center;margin-bottom:0}.calendar-cell-head h3{font-size:12px}.calendar-cell-head span{min-width:20px;height:20px;margin-top:4px;font-size:11px}.calendar-events-scroll{display:none}}.trial-note{margin:6px 0 0;color:var(--warning);font-size:13px;font-weight:700}.trial-ended-overlay{position:fixed;inset:0;z-index:90;display:grid;place-items:center;padding:24px;background:#0f172a75;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.trial-ended-card{width:min(460px,calc(100vw - 32px));border:1px solid var(--line);border-radius:14px;padding:28px;background:#fff;color:var(--ink);box-shadow:var(--shadow-md);text-align:center}.trial-ended-icon{width:54px;height:54px;margin:0 auto 14px;border-radius:50%;background:var(--primary-dim);color:var(--primary);display:inline-flex;align-items:center;justify-content:center}.trial-ended-card.success .trial-ended-icon{background:#e8f9e2;color:var(--success)}.trial-ended-icon svg{width:26px;height:26px}.trial-ended-card h2{font-size:23px;line-height:1.15;letter-spacing:-.02em;margin-bottom:10px}.trial-ended-card p:not(.eyebrow){color:var(--muted);line-height:1.6;margin-bottom:20px}.trial-ended-field{margin-bottom:14px;text-align:left;color:#475467;font-size:13px;font-weight:600}.trial-ended-field input{margin-top:7px;min-height:44px}.trial-ended-account-email{margin:-4px 0 14px;padding:10px 12px;border:1px solid #d7ebd3;border-radius:8px;background:#f7fbf5;color:#475467;font-size:13px;line-height:1.4}.trial-ended-account-email strong{color:var(--ink);font-weight:650}.trial-ended-card button{width:100%;min-height:46px;border:0;border-radius:10px;background:var(--primary);color:#fff;font:650 15px Inter,system-ui,sans-serif;cursor:pointer;transition:background .15s,transform .1s,box-shadow .15s}.trial-ended-card button+button{margin-top:10px}.trial-ended-card button.quiet{background:#e9eef4;color:var(--ink);font-weight:600}.trial-ended-card button:hover:not(:disabled){background:var(--primary-strong);transform:translateY(-1px);box-shadow:0 8px 20px #2c9a163d}.trial-ended-card button.quiet:hover:not(:disabled){background:#dfe7f0;box-shadow:none}.trial-ended-card button:disabled{opacity:.7;cursor:wait}.trial-ended-error{display:block;margin-top:12px;color:var(--danger);line-height:1.4}.tenant-domain-card{display:grid;gap:4px;width:fit-content;margin-top:18px;border:1px solid var(--line);border-radius:8px;padding:12px 14px;background:#ffffffd1}.tenant-domain-card span{color:var(--primary);font-size:12px;font-weight:700;text-transform:uppercase}.tenant-domain-card small{color:var(--muted)}.error{color:var(--danger)}.ok{color:var(--success)}.warning-box{border:1px solid #f0c36a;border-radius:8px;padding:12px;background:#fff8e6;color:var(--warning)}.warning-box p{margin:6px 0 10px;color:var(--muted)}.eyebrow{margin-bottom:8px;color:var(--primary);font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.06em}.logo{width:52px;height:52px;display:grid;place-items:center;border-radius:8px;background:var(--ink);color:#fff;font-weight:700}.brand-logo{width:132px;max-height:52px;object-fit:contain}.loading-screen{min-height:100vh;display:grid;place-items:center;align-content:center;gap:18px;background:var(--bg)}.loading-screen .brand-logo{width:176px;max-height:72px}.loading-spinner{width:28px;height:28px;border:3px solid #dce7d8;border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}.sidebar-brand{filter:none;width:140px}.auth-layout{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(340px,470px)}.intro{padding:clamp(34px,7vw,84px);background:linear-gradient(145deg,#fff,#edf2f6);display:flex;flex-direction:column;justify-content:space-between;gap:42px}.brand-block{display:grid;gap:22px;max-width:760px}.lead{max-width:680px;color:var(--muted);font-size:18px;line-height:1.55}.feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;max-width:860px}.feature-grid article,.panel,.stat{background:var(--surface);border:1px solid var(--line);border-radius:8px}.feature-grid article{padding:16px;display:grid;gap:6px}.feature-grid span{color:var(--muted);line-height:1.35}.hint{margin-bottom:0;color:var(--muted)}.auth-panel{background:var(--surface);border-left:1px solid var(--line);padding:clamp(24px,4vw,44px);display:flex;flex-direction:column;justify-content:center;gap:22px}.auth-centered-layout{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(150deg,#f0faf0,#f5f7f9,#eef2f7);padding:24px;gap:20px}.auth-card{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 4px 6px #1018280a,0 12px 40px #10182814;padding:40px 44px 36px;width:100%;max-width:420px}.auth-card-header{display:flex;flex-direction:column;align-items:center;gap:12px;margin-bottom:32px;text-align:center}.auth-logo{height:36px;width:auto}.auth-tagline{font-size:13px;color:var(--muted);font-weight:500}.auth-tenant-badge{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:600;color:var(--primary);background:var(--primary-dim);padding:5px 12px;border-radius:20px}.auth-tenant-dot{width:6px;height:6px;border-radius:50%;background:var(--primary);flex-shrink:0}.auth-form{display:flex;flex-direction:column;gap:16px}.auth-field{display:flex;flex-direction:column;gap:6px}.auth-field label{font-size:13px;font-weight:600;color:var(--ink2)}.auth-field input{font-size:14px;padding:11px 13px;border-radius:8px;border:1.5px solid var(--line);background:var(--bg);color:var(--ink);outline:none;transition:border-color .15s,box-shadow .15s;width:100%;font-family:inherit}.auth-field input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-dim)}.auth-error{display:flex;align-items:flex-start;gap:7px;font-size:13px;color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:7px;padding:10px 12px;line-height:1.4}.auth-error svg{flex-shrink:0;margin-top:1px}.auth-submit{margin-top:4px;width:100%;padding:12px;font-size:14px;font-weight:700;color:#fff;background:var(--primary);border:none;border-radius:8px;cursor:pointer;transition:background .15s,transform .1s,box-shadow .15s;font-family:inherit;display:flex;align-items:center;justify-content:center;min-height:44px}.auth-submit:hover:not(:disabled){background:var(--primary-strong);color:#fff;transform:translateY(-1px);box-shadow:0 4px 14px #2c9a164d}.auth-submit:disabled{opacity:.65;cursor:not-allowed}.auth-submit.is-click-loading:after{display:none}.auth-separator{display:flex;align-items:center;gap:12px;margin:18px 0 0;color:var(--muted);font-size:12px;font-weight:700}.auth-separator:before,.auth-separator:after{content:"";height:1px;flex:1;background:var(--line)}.auth-google-wrap{display:flex;justify-content:center;min-height:42px;margin-top:14px}.auth-google-fallback{width:100%;min-height:42px;border:1.5px solid var(--line);border-radius:8px;background:#fff;color:var(--ink2);font-family:inherit;font-size:14px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;transition:border-color .15s,box-shadow .15s,transform .1s}.auth-google-fallback:hover:not(:disabled){border-color:#d1d5db;box-shadow:0 4px 14px #10182814;transform:translateY(-1px)}.auth-google-fallback:disabled{opacity:.65;cursor:wait}.auth-spinner{width:18px;height:18px;border:2.5px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite;display:inline-block}.auth-footer-note{margin-top:20px;font-size:12px;color:var(--muted);text-align:center;line-height:1.5;border-top:1px solid var(--line);padding-top:16px}.auth-bottom-link{font-size:13px;color:var(--muted);text-align:center}.auth-bottom-link a{color:var(--primary);font-weight:600;text-decoration:none}.auth-bottom-link a:hover{text-decoration:underline}.grecaptcha-badge{visibility:hidden!important}@media(max-width:480px){.auth-centered-layout{padding:16px 12px;justify-content:flex-start;padding-top:clamp(32px,10vh,80px);gap:16px}.auth-card{padding:28px 20px 24px;border-radius:14px;box-shadow:0 2px 16px #1018281a}.auth-card-header{margin-bottom:24px;gap:10px}.auth-logo{height:30px}.auth-field input{font-size:16px;padding:13px}.auth-submit{padding:14px;font-size:15px;min-height:48px}.auth-form{gap:14px}.auth-footer-note{font-size:11px}.auth-bottom-link{font-size:12px}}@media(max-width:360px){.auth-card{padding:24px 16px 20px}.auth-centered-layout{padding:24px 8px 12px}}@media(max-width:480px){.tos-dialog{border-radius:12px;max-height:95vh}.tos-header{padding:18px 18px 12px}.tos-header h2{font-size:16px}.tos-body{padding:14px 18px}.tos-footer{padding:12px 18px 16px}.tos-footer button{width:100%}}.segmented{display:flex;gap:4px;padding:4px;border-radius:7px;background:#edf2f6}.segmented button{flex:1;background:transparent;color:var(--muted)}.segmented button.active{background:#fff;color:var(--ink);box-shadow:0 1px 4px #10182814}.form-stack{display:grid;gap:13px}.security-compact-form{margin-top:14px}.two-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.three-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.toolbar-form{display:flex;flex-wrap:wrap;align-items:end;gap:10px;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid var(--line)}.toolbar-form label:first-child{flex:1;min-width:180px}.toolbar-form label select,.toolbar-form label input{min-width:130px}.builder-section,.template-section{display:grid;gap:12px;padding:14px;border:1px solid var(--line);border-radius:8px;background:#fbfcfd}.builder-field{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr)) auto;gap:10px;align-items:end;padding:12px;border:1px solid var(--line);border-radius:8px;background:#fff}.builder-header{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:12px;align-items:end}.builder-section-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:-4px}.template-stepper{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:4px;border-radius:10px;background:#eef2f5}.template-stepper button{min-height:38px;border-radius:8px;background:transparent;color:var(--muted);font-weight:800}.template-stepper button.active{background:#fff;color:var(--primary-strong);box-shadow:0 3px 10px #10182814}.template-step-panel{display:grid;gap:13px}.preview-example-notice{margin:0 0 12px;padding:8px 12px;border-radius:6px;background:#fffbeb;border:1px solid #fde68a;color:#92400e;font-size:12px}.modal--wide{width:min(1080px,96vw)}.pdf-preview-iframe{display:block;width:100%;height:min(75vh,780px);border:none;border-radius:4px;background:#525659}.preview-box{margin-top:16px;padding:14px;border:1px dashed var(--line);border-radius:8px;background:#fff}.preview-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.78fr);gap:16px;align-items:start}.preset-strip,.field-preset-strip{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:8px;background:#f8fafb}.field-preset-strip{padding:8px;background:#fff}.preset-strip span,.field-preset-strip span{color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase}.preset-strip button,.field-preset-strip button{min-height:32px;padding:6px 10px}.template-tools{overflow:hidden;border:1px solid var(--line);border-radius:8px;background:#fbfcfd}.template-tools summary{cursor:pointer;padding:10px 12px;color:var(--ink);font-size:13px;font-weight:800;list-style-position:inside}.template-tools.compact summary{padding:8px 10px;font-size:12px}.template-tools .preset-strip,.template-tools .field-preset-strip{border:0;border-top:1px solid var(--line);border-radius:0}.pdf-preview-page{min-height:620px;display:grid;align-content:start;gap:14px;padding:28px;border:1px solid #d9e1ea;border-radius:6px;background:#fff;box-shadow:0 12px 30px #10182814}.pdf-preview-header{padding-bottom:14px;border-bottom:2px solid var(--primary)}.pdf-preview-brand{display:flex;align-items:center;gap:12px}.pdf-preview-brand img{width:104px;max-height:34px;object-fit:contain}.pdf-preview-brand div{display:grid;gap:2px}.pdf-preview-doc-meta{display:grid;justify-items:end;gap:3px}.pdf-preview-doc-meta b{color:var(--ink)}.pdf-preview-page header,.pdf-preview-page footer{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:12px}.pdf-preview-page header strong{color:var(--ink);font-size:14px}.pdf-preview-title-block{display:grid;gap:5px}.pdf-preview-title-block>span{width:fit-content;padding:4px 9px;border-radius:999px;background:#edf8ea;color:var(--primary-strong);font-size:11px;font-weight:900;text-transform:uppercase}.pdf-preview-page h2{margin:10px 0 0;font-size:22px}.pdf-preview-subtitle{margin:-8px 0 0;color:var(--muted)}.pdf-preview-page dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:10px;border:1px solid var(--line);border-radius:8px;background:#fbfcfd}.pdf-preview-page dt{color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase}.pdf-preview-page dd{margin:3px 0 0;font-size:12px}.pdf-preview-page article{display:grid;gap:8px;padding-top:10px;border-top:1px solid var(--line)}.pdf-preview-page article h4{margin:0;color:var(--ink)}.pdf-preview-page article p{margin:0;color:var(--muted);font-size:12px}.pdf-preview-field{display:grid;gap:3px}.pdf-preview-field b{font-size:12px}.pdf-preview-field span{color:#475467;font-size:12px;line-height:1.4}.pdf-preview-footer{margin-top:16px;padding-top:14px;border-top:1px solid var(--line);align-items:end}.pdf-preview-footer div{display:grid;gap:4px;min-width:190px}.pdf-preview-footer p{max-width:260px;margin:0;text-align:right}.pdf-signature-line{width:180px;height:1px;margin-bottom:4px;background:#98a2b3}.dynamic-form{display:grid;gap:14px}.template-section legend{padding:0 6px;font-weight:700}.template-section{grid-template-columns:repeat(6,minmax(0,1fr))}.template-section legend,.template-section-help{grid-column:1 / -1}.template-section-help{margin:0;color:var(--muted);font-size:13px}.template-field{grid-column:1 / -1}.template-field-medio{grid-column:span 3}.template-field-tercio{grid-column:span 2}.template-field small{margin-top:-4px;color:var(--muted);font-size:12px}.template-picker{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px}.template-picker-wrap{display:grid;gap:12px}.template-choice{min-height:118px;display:grid;align-content:start;justify-items:start;gap:7px;padding:12px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);text-align:left}.template-choice-icon{width:28px;height:28px;display:grid;place-items:center;border-radius:8px;background:#edf8ea;color:var(--primary-strong);font-size:12px;font-weight:900}.template-choice:hover,.template-choice.selected{border-color:#79c96f;background:#f4fbf1;box-shadow:0 10px 24px #2c9a1617}.template-choice strong{font-size:14px}.template-choice span{color:var(--muted);font-size:12px;line-height:1.35}.template-choice small{margin-top:auto;color:var(--primary-strong);font-size:11px;font-weight:800}.template-stats-clean+small{display:none}.template-selection-summary{display:grid;gap:10px;padding:12px;border:1px solid #cfe8c9;border-radius:10px;background:linear-gradient(180deg,#fff,#f6fbf4)}.template-selection-summary h4{margin:2px 0 0;font-size:15px}.template-selection-summary span,.template-selection-summary small{color:var(--muted);font-size:12px}.template-summary-stats{display:flex;flex-wrap:wrap;gap:8px}.template-summary-stats span{display:inline-flex;align-items:center;min-height:26px;padding:4px 9px;border-radius:999px;background:#edf8ea;color:var(--primary-strong);font-weight:800}.template-selection-summary ul{display:grid;gap:8px;margin:0;padding:0;list-style:none}.template-selection-summary li{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-top:1px solid var(--line)}.template-selection-summary li strong{font-size:13px}.template-picker-empty{display:grid;gap:4px;padding:12px;border:1px dashed var(--line);border-radius:10px;background:#fbfcfd}.template-picker-empty span,.warn-message{color:#9a5a00}.check-grid{display:flex;flex-wrap:wrap;gap:8px}.inline-check{display:inline-flex;grid-template-columns:auto 1fr;align-items:center;gap:6px;color:var(--ink)}.inline-check input{width:auto}.permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.permission-grid .inline-check{padding:10px;border:1px solid var(--line);border-radius:8px;background:#fff}.inline-module-form{display:grid;grid-template-columns:repeat(5,minmax(92px,1fr)) auto;gap:8px;align-items:end;min-width:620px}.inline-module-form label{gap:4px;font-size:.78rem;color:var(--muted)}.inline-module-form select{min-height:34px;padding:6px 8px;font-size:.85rem}.inline-module-form button{min-height:34px;padding:6px 10px}.availability-picker{display:grid;gap:8px}.availability-summary{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px;border:1px solid var(--line);border-radius:8px;background:#fbfcfd}.availability-summary div{display:grid;gap:2px}.availability-summary span{color:var(--muted);font-size:.9rem}.availability-modal{display:grid;gap:14px}.availability-slots{display:grid;gap:10px}.availability-slot{display:grid;grid-template-columns:1.2fr .85fr .85fr 1fr auto auto;gap:10px;align-items:end;padding:10px;border:1px solid var(--line);border-radius:8px;background:#fff}.availability-slot label{gap:4px}.availability-slot button{min-height:38px}.availability-slot--conflict{border:1.5px solid #dc2626;background:#fff1f2;border-radius:8px;padding:6px}.availability-conflict-msg{display:flex;align-items:center;gap:7px;background:#fff1f2;border:1px solid #fecaca;border-radius:8px;padding:10px 14px;font-size:13px;font-weight:600;color:#b91c1c;margin-bottom:8px}.availability-slot-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.availability-period{min-height:38px;display:inline-flex;align-items:center;justify-content:center;padding:0 10px;border-radius:999px;background:#f1f5f9;color:var(--muted);font-size:12px;font-weight:700}.availability-empty{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px;border:1px dashed var(--line);border-radius:8px;background:#fbfcfd}.app-layout{min-height:100vh;display:grid;grid-template-columns:252px minmax(0,1fr);transition:grid-template-columns .22s ease}.app-layout.sidebar-collapsed{grid-template-columns:72px minmax(0,1fr)}.sidebar{padding:20px 14px;background:#fff;color:var(--ink);display:flex;flex-direction:column;gap:20px;border-right:1px solid var(--line);position:sticky;top:0;height:100vh;overflow:hidden;transition:padding .22s ease}.app-layout.sidebar-collapsed .sidebar{padding:20px 8px;align-items:center}.sidebar-top{display:flex;flex-direction:column;gap:10px}.app-layout.sidebar-collapsed .sidebar-top{align-items:center}.sidebar-brand{width:120px;max-height:90px;object-fit:contain;flex:0 0 auto}.app-layout.sidebar-collapsed .sidebar-brand{width:36px}.tenant-pill{display:inline-flex;width:fit-content;border-radius:99px;padding:4px 10px;background:#f0faf0;color:var(--primary);font-size:11px;font-weight:700;letter-spacing:.02em;border:1px solid #d1f0d1}.nav{display:grid;gap:3px;flex:1;align-content:start;overflow-y:auto}.mobile-nav{display:none}.nav button{display:flex;align-items:center;gap:10px;text-align:left;background:transparent;color:var(--muted);padding:9px 10px;border-radius:8px;font-size:13.5px;font-weight:500;min-height:0;white-space:nowrap;position:relative;overflow:hidden}.nav button:hover{background:#f5f7fa;color:var(--ink)}.nav button.active{background:#edfaed;color:var(--primary);font-weight:600}.nav button.active:before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:3px;background:var(--primary);border-radius:0 3px 3px 0}.nav-label{flex:1}.nav-icon{width:32px;height:32px;display:grid;place-items:center;flex:0 0 32px;border-radius:8px;background:#f0f4f8;color:var(--muted);transition:background .14s,color .14s}.nav button:hover .nav-icon{background:#e9eef4;color:var(--ink)}.nav button.active .nav-icon{background:#d4f5d4;color:var(--primary)}.app-layout.sidebar-collapsed .nav button{justify-content:center;padding:9px}.app-layout.sidebar-collapsed .nav-icon{margin:0}.app-icon{width:18px;height:18px;display:block}.sidebar-toggle{display:flex;align-items:center;gap:8px;background:transparent;color:var(--muted);padding:8px 10px;border-radius:8px;font-size:12.5px;min-height:0;width:100%}.sidebar-toggle:hover{background:#f5f7fa;color:var(--ink)}.app-layout.sidebar-collapsed .sidebar-toggle{justify-content:center;padding:8px;width:auto}.nav-dots{font-size:18px;line-height:1;color:var(--muted)}.sidebar-user{margin-top:auto;display:grid;grid-template-columns:38px 1fr;gap:10px;align-items:center;padding-top:16px;border-top:1px solid var(--line)}.sidebar-user strong{display:block;font-size:13px}.sidebar-user small{display:block;color:var(--muted)}.avatar{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:var(--primary);color:#fff;font-weight:700;overflow:hidden;flex:0 0 38px}.avatar img,.profile-avatar img{width:100%;height:100%;object-fit:cover}.workspace{padding:26px 30px;display:grid;gap:20px;align-content:start;background:var(--bg)}.topbar{display:flex;justify-content:space-between;gap:16px;align-items:center;padding-bottom:4px}.topbar-greeting{margin:0 0 2px;font-size:clamp(18px,2vw,22px);font-weight:700;color:var(--ink);line-height:1.2}.topbar-subtitle{display:block;font-size:13px;color:var(--muted)}.topbar h1{margin-bottom:7px;font-size:clamp(25px,3vw,34px)}.topbar-context strong{font-size:16px;display:block;font-weight:700;color:var(--ink)}.topbar-context span{font-size:13px;color:var(--muted)}.topbar-actions{display:flex;gap:10px;align-items:center;position:relative;flex-shrink:0}.section{display:grid;gap:16px}.panel{padding:16px;overflow-x:auto;box-shadow:var(--shadow-sm)}.panel-heading{display:flex;align-items:center;gap:10px;margin-bottom:14px}.panel-heading h2{margin:0;font-size:18px;letter-spacing:0}.panel-heading-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:8px;background:#eef8ec;color:var(--primary-strong)}.panel-heading-icon .app-icon{width:18px;height:18px}.panel-title{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.panel-title h2{margin-bottom:4px}.panel-title .message{margin-bottom:0}.stats{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:10px}.stats.compact{grid-template-columns:repeat(4,minmax(110px,1fr))}.stat{display:flex;flex-direction:column;justify-content:center;padding:10px 14px;overflow:hidden;box-shadow:var(--shadow-sm)}.stat-icon{width:26px;height:26px;margin-bottom:6px;padding:6px;border-radius:7px;background:#edf8ea;color:var(--primary-strong)}.stat span{font-size:11px;color:var(--muted);font-weight:500;letter-spacing:.01em;text-transform:uppercase}.stat strong{display:block;margin-top:2px;font-size:22px;line-height:1.1}.dashboard-grid{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(320px,1.2fr);gap:16px}.mini-chart{min-height:84px;display:flex;align-items:end;gap:8px;padding:12px;margin-bottom:14px;border:1px solid var(--line);border-radius:8px;background:#fbfcfd}.mini-chart span{flex:1;min-width:14px;border-radius:6px 6px 0 0;background:linear-gradient(180deg,#2c9a16,#bfe8b7)}.quick-actions{display:grid;gap:10px}.quick-actions span,.quick-actions .quick-link{display:flex;align-items:center;gap:10px;width:100%;min-height:42px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:#fbfcfd;color:var(--ink);text-align:left}.quick-icon{width:30px;height:30px;flex:0 0 auto;padding:6px;border-radius:8px;background:#edf8ea;color:var(--primary-strong)}.quick-actions .quick-link:hover{border-color:#b7d8b0;background:#f2fbef}.quick-actions .quick-link:hover .quick-icon{background:var(--primary);color:#fff}.mobile-sheet-actions{display:grid;gap:10px}.mobile-sheet-actions .quick-link{display:flex;align-items:center;gap:10px;width:100%;min-height:48px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:#fbfcfd;color:var(--ink);text-align:left}.mobile-sheet-actions .quick-link.danger-link{color:var(--danger);border-color:#f1c1bd;background:#fff8f7}.mobile-sheet-divider{border:0;border-top:1px solid var(--line);margin:2px 0}@media(max-width:900px){.topbar-hidden-mobile{display:none}}.list-toolbar{display:flex;gap:10px;margin-bottom:14px}.list-toolbar input{max-width:420px}.badge{display:inline-flex;border-radius:99px;padding:4px 9px;background:#edf5f1;color:var(--success);font-size:12px;font-weight:700}.badge.warn{background:#fff6df;color:var(--warning)}.badge.danger-badge{background:#fff0ee;color:var(--danger)}.badge.info-badge{background:#eef4ff;color:#2357a3}.actions{display:flex;gap:7px;flex-wrap:wrap;align-items:center}.actions button,.compact-button{min-height:32px;padding:7px 10px;font-size:13px}.icon-actions{gap:6px}.icon-actions .icon-button,.share-menu summary.icon-button{width:34px;height:34px;min-width:34px;min-height:34px;padding:0}.danger-icon{background:#fff0ee!important;color:var(--danger)!important}.danger-icon:hover{background:var(--danger)!important;color:#fff!important}.share-menu{position:relative}.share-menu summary{list-style:none;cursor:pointer}.share-menu summary::-webkit-details-marker{display:none}.share-menu-options{position:absolute;right:0;top:calc(100% + 8px);z-index:12;min-width:160px;display:grid;gap:6px;padding:8px;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:var(--shadow-md)}.share-menu-options button,.share-menu-options .button-like{width:100%;justify-content:flex-start}.icon-action{display:inline-flex;align-items:center;gap:6px}.icon-action svg{flex:0 0 auto}.detail-actions{padding-bottom:14px;border-bottom:1px solid var(--line)}.patient-detail{display:grid;gap:18px}.patient-detail .stats.compact{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.detail-stack{display:grid;gap:16px}.detail-hero{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding-bottom:14px;border-bottom:1px solid var(--line)}.detail-hero h3{margin-bottom:6px;font-size:24px}.detail-grid{display:grid;grid-template-columns:minmax(240px,.85fr) minmax(280px,1.15fr);gap:16px}.info-list{display:grid;gap:10px;margin:0}.info-list div{display:grid;grid-template-columns:140px minmax(0,1fr);gap:12px;padding-bottom:10px;border-bottom:1px solid var(--line)}.info-list dt{color:var(--muted);font-size:12px}.info-list dd{margin:0}.content-section{padding:14px;border:1px solid var(--line);border-radius:8px;background:#fbfcfd;overflow-x:auto}.content-section h3{margin-bottom:12px}.content-section p:last-child{margin-bottom:0}.data-table{width:100%;border-collapse:collapse;font-size:14px}.data-table th,.data-table td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--line)}.data-table thead th{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.data-table tbody tr:last-child td{border-bottom:0}.table-actions{text-align:right;white-space:nowrap;width:1%;padding-right:4px}.form-section{display:grid;gap:12px;padding:14px;border:1px solid var(--line);border-radius:10px;background:#fbfcfd}.form-section summary{cursor:pointer;color:var(--ink);font-size:14px;font-weight:800;list-style:none}.form-section summary::-webkit-details-marker{display:none}.form-section summary:after{content:"+";float:right;color:var(--primary);font-weight:900}.form-section[open] summary:after{content:"-"}.form-section>:not(summary){margin-top:12px}.inline-section{display:grid;gap:10px;padding:14px;border:1px solid var(--line);border-radius:8px;background:#fbfcfd;margin-bottom:8px}.inline-section-header{display:flex;align-items:center;gap:8px}.inline-section-title{flex:1;font-weight:700;font-size:14px;color:var(--ink);border:none;border-bottom:1px solid var(--line);background:transparent;padding:4px 0;outline:none}.inline-section-title:focus{border-bottom-color:var(--primary)}.inline-campo{display:grid;gap:6px;padding:10px;border:1px solid var(--line);border-radius:6px;background:#fff}.inline-campo-header{display:flex;align-items:center;gap:6px}.inline-campo-label{flex:1;font-size:12px;font-weight:600;color:var(--muted);border:none;background:transparent;padding:2px 0;outline:none;text-transform:uppercase;letter-spacing:.04em}.inline-campo-label:focus{color:var(--primary)}.inline-campo textarea{width:100%;min-height:72px;resize:vertical}.inline-add-btn,.inline-add-section-btn{font-size:12px;color:var(--primary);padding:4px 8px;width:fit-content}.inline-add-section-btn{margin-top:4px}.form-actions{display:flex;justify-content:flex-end;align-items:center;gap:8px;padding-top:4px}.pdf-banner-field,.pdf-banner-preview{display:flex;flex-direction:column;gap:6px}.pdf-banner-img{width:100%;max-height:120px;object-fit:contain;border:1px solid var(--border);border-radius:6px;background:#f5f5f5}.danger-btn{color:var(--danger, #c0392b);font-size:12px;width:fit-content}.wp-link{color:var(--primary-strong);font-weight:700;text-decoration:none}.wp-link:hover{text-decoration:underline}.notification-wrap{position:relative}.notification-button{position:relative;width:40px;min-height:40px;padding:0;display:grid;place-items:center;border:1px solid var(--line);background:#fff;color:var(--ink);box-shadow:var(--shadow-sm)}.notification-button:hover{background:#f7faf7;border-color:#b7d8b0;color:var(--primary-strong)}.bell-icon{width:21px;height:21px;stroke-width:2.2}.notification-count{position:absolute;top:-5px;right:-5px;min-width:19px;height:19px;padding:0 5px;display:grid;place-items:center;border-radius:99px;background:var(--primary);color:#fff;border:2px solid var(--bg);font-size:11px;font-weight:800}.notification-menu{position:absolute;top:calc(100% + 10px);right:0;z-index:16;width:min(390px,calc(100vw - 28px));overflow:hidden;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:var(--shadow-md)}.notification-menu header{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:14px;border-bottom:1px solid var(--line);background:#fbfcfd}.notification-menu-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.notification-menu header strong,.notification-menu header small{display:block}.notification-list{display:grid;gap:4px;max-height:360px;overflow:auto;padding:8px}.notification-list>.muted{margin:8px}.notification-item{width:100%;min-height:auto;display:grid;grid-template-columns:minmax(0,1fr) 34px;gap:6px;align-items:start;padding:6px;border-radius:8px;background:transparent;color:var(--ink);text-align:left}.notification-item:hover{background:#f4f8f4}.notification-main{min-height:auto;display:grid;grid-template-columns:28px minmax(0,1fr);gap:10px;align-items:start;padding:6px;border-radius:8px;background:transparent;color:var(--ink);text-align:left}.notification-main:hover{background:transparent;color:var(--ink)}.notification-item strong,.notification-item small{display:block}.notification-dot{width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:#edf5f1;color:var(--success);font-weight:800;font-size:13px}.notification-item.warning .notification-dot{background:#fff6df;color:var(--warning)}.notification-item.danger .notification-dot{background:#fff0ee;color:var(--danger)}.notification-read-button{width:32px;height:32px;min-width:32px;min-height:32px;padding:0;border-radius:8px;background:#edf8ea;color:var(--primary)}.notification-read-button:hover{background:var(--primary);color:#fff}.notification-read-button .app-icon{width:17px;height:17px}.notification-item.admin-msg{display:block;padding:10px 12px;border-left:3px solid var(--primary);background:#f4f8ff}.notification-item.admin-msg:hover{background:#eaf1ff}.notification-admin-header{display:flex;align-items:flex-start;gap:8px}.notification-admin-title{flex:1;display:flex;flex-direction:column;gap:2px}.notification-admin-title strong{font-size:13px}.notification-admin-body{margin:6px 0 8px;font-size:13px;color:var(--ink);white-space:pre-line;line-height:1.5}.admin-dot{background:#e8f0ff;color:#2563eb;font-size:14px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:8px;flex-shrink:0}.nps-inline{display:flex;flex-direction:column;gap:6px;margin-top:4px}.nps-scores{display:flex;gap:4px;flex-wrap:wrap}.nps-score{width:30px;height:30px;padding:0;border-radius:6px;background:#e8f0ff;color:#2563eb;font-size:12px;font-weight:700;border:1px solid transparent;cursor:pointer}.nps-score.selected{background:var(--primary);color:#fff}.nps-score:hover:not(.selected){background:#d0e2ff}.feedback-inline{display:flex;flex-direction:column;gap:6px;margin-top:4px}.feedback-inline textarea{width:100%;font-size:13px;padding:6px 8px;border:1px solid var(--line);border-radius:6px;resize:vertical;min-height:56px}.mensajes-admin-list{display:flex;flex-direction:column;gap:10px}.mensajes-admin-card{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 16px;border:1px solid var(--line);border-radius:10px;background:#fff;transition:opacity .2s}.mensajes-admin-card.inactive{opacity:.55}.mensajes-admin-card-body{flex:1;display:flex;flex-direction:column;gap:4px}.mensajes-admin-meta{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:2px}.mensajes-admin-titulo{font-size:14px}.mensajes-admin-contenido{font-size:13px;margin:0;white-space:pre-line}.mensajes-admin-actions{display:flex;flex-direction:column;gap:4px;align-items:flex-end}.badge{display:inline-block;padding:2px 8px;border-radius:99px;font-size:11px;font-weight:600}.badge-mensaje{background:#e8f4ff;color:#1a6fc4}.badge-encuesta_nps{background:#fff7e0;color:#a05e00}.badge-feedback{background:#f0f0ff;color:#5c5bc4}.badge-audiencia{background:#eef9ee;color:#256a2a}.badge-inactive{background:#f5f5f5;color:#888}.stats-list{display:flex;flex-direction:column;gap:6px;margin-top:12px}.stats-row{display:flex;gap:10px;align-items:center;font-size:13px;padding:6px 0;border-bottom:1px solid var(--line)}.stats-row:last-child{border-bottom:none}.tos-status-block{margin-top:4px;margin-bottom:4px}.tos-status-pill{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;border:1px solid var(--line);background:#f9fafb}.tos-status-pill.accepted{background:#f0fdf4;border-color:#bbf7d0}.tos-status-pill.pending{background:#fff7ed;border-color:#fed7aa}.tos-status-pill>span:first-child{width:24px;height:24px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800}.tos-status-pill.accepted>span:first-child{background:#dcfce7;color:#16a34a}.tos-status-pill.pending>span:first-child{background:#ffedd5;color:#ea580c}.tos-status-pill>span:last-child{display:flex;flex-direction:column;gap:2px}.tos-status-pill strong{font-size:13px}.tos-status-pill small{font-size:11px;color:var(--muted)}.tos-ver-mas{margin-left:auto;font-size:11px;padding:3px 8px;flex-shrink:0}.tos-pending-alert{display:flex;align-items:center;gap:9px;padding:10px 13px;background:#fff7ed;border:1px solid #fed7aa;border-radius:8px;font-size:13px;color:#92400e;margin-bottom:10px}.tos-pending-alert svg{flex-shrink:0;width:16px;height:16px;color:#ea580c}.tos-view-body{max-height:60vh;overflow-y:auto;background:#f9fafb;border:1px solid var(--line);border-radius:8px;padding:16px}.tos-view-body pre{white-space:pre-wrap;font-family:inherit;font-size:13px;line-height:1.6;color:var(--text);margin:0}.terminos-tabs{display:flex;gap:4px;margin-bottom:20px;border-bottom:1px solid var(--line)}.terminos-tab{background:none;border:none;border-bottom:2px solid transparent;padding:8px 16px;font-size:14px;font-weight:500;color:var(--muted);cursor:pointer;margin-bottom:-1px;transition:color .15s,border-color .15s;position:relative}.terminos-tab:hover{color:var(--text)}.terminos-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.terminos-tab.unsaved{color:var(--accent)}.unsaved-dot{display:inline-block;width:7px;height:7px;background:#f59e0b;border-radius:50%;margin-left:6px;vertical-align:middle}.terminos-editor{display:flex;flex-direction:column;gap:12px}.terminos-meta{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}.terminos-meta-badges{display:flex;align-items:center;gap:10px}.terminos-textarea{width:100%;font-family:Courier New,monospace;font-size:13px;line-height:1.6;padding:14px;border:1px solid var(--line);border-radius:8px;background:#fafafa;color:var(--text);resize:vertical;min-height:420px}.terminos-textarea:focus{outline:none;border-color:var(--accent);background:#fff}.terminos-warning{display:flex;gap:12px;padding:12px 14px;background:#fffbeb;border:1px solid #fcd34d;border-radius:8px;font-size:13px}.terminos-warning svg{flex-shrink:0;color:#d97706;width:20px;height:20px;margin-top:1px}.terminos-warning p{margin:4px 0 0;color:var(--muted)}.terminos-confirm-overlay{position:fixed;inset:0;background:#00000073;z-index:200;display:flex;align-items:center;justify-content:center}.terminos-confirm-dialog{background:#fff;border-radius:12px;padding:28px 32px;max-width:420px;width:90%;box-shadow:0 20px 60px #0003}.terminos-confirm-dialog h3{margin:0 0 10px;font-size:17px}.terminos-confirm-dialog p{margin:0 0 8px;font-size:14px;color:var(--muted)}.profile-page{gap:18px}.profile-hero{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:18px;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow-sm);flex-wrap:wrap}.profile-identity{display:flex;gap:16px;align-items:center;min-width:0}.profile-avatar{width:56px;height:56px;flex-shrink:0;display:grid;place-items:center;border-radius:50%;background:var(--primary);color:#fff;font-size:20px;font-weight:700}.profile-identity h2{margin-bottom:2px;font-size:20px}.profile-hero-meta{display:flex;flex-wrap:wrap;gap:6px;align-items:center;justify-content:flex-end}.hero-meta-chip{font-size:12px;font-weight:600;padding:3px 10px;border-radius:20px;background:var(--bg);border:1px solid var(--line);white-space:nowrap}.hero-meta-chip.muted{color:var(--muted);font-weight:400}.hero-meta-chip.warn-chip{background:#fff8e6;border-color:#f0c060;color:#7a4f00}.field-with-action{display:flex;flex-direction:column;gap:6px}.field-with-action button{align-self:flex-start}.profile-grid{display:grid;grid-template-columns:minmax(320px,1.45fr) minmax(260px,.55fr);gap:16px;align-items:start}.settings-page .stats.compact{display:none}.settings-page .stats.compact .stat{padding:10px 14px}.settings-page .profile-grid{grid-template-columns:minmax(360px,1fr) minmax(280px,.55fr)}.settings-page .profile-grid+.profile-grid{grid-template-columns:minmax(360px,1fr) minmax(280px,.55fr)}.settings-page .profile-side .panel{padding:14px}.settings-page .signature-card{min-height:118px}.settings-page .form-section{background:#fff}.profile-account-header{display:grid;grid-template-columns:72px 1fr auto;gap:14px;align-items:center;padding:14px;background:var(--bg);border:1px solid var(--line);border-radius:10px}.profile-account-avatar{width:72px;height:72px;border-radius:50%;overflow:hidden;flex-shrink:0;background:var(--primary);display:grid;place-items:center;color:#fff;font-size:24px;font-weight:700}.profile-account-avatar img{width:100%;height:100%;object-fit:cover}.profile-account-meta{display:grid;gap:2px;min-width:0}.profile-account-meta strong{font-size:15px;overflow-wrap:anywhere}.profile-account-meta small{font-size:12px;color:var(--muted);display:block}.profile-account-avatar-upload{display:flex;flex-direction:column;gap:6px;align-items:flex-end;flex-shrink:0}.btn-file-quiet{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border:1px solid var(--line);border-radius:6px;font-size:13px;font-weight:500;color:var(--ink);background:var(--surface);cursor:pointer;transition:background .15s,border-color .15s;white-space:nowrap}.btn-file-quiet:hover{background:var(--bg);border-color:#b0b8c4}.btn-file-quiet input[type=file]{display:none}.firma-upload-card{border:1px solid var(--line);border-radius:10px;padding:14px;display:grid;gap:12px;background:var(--surface)}.firma-upload-card strong{display:block;font-size:14px;margin-bottom:2px}.firma-upload-card .message{margin-bottom:0}.firma-preview{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.firma-canvas{flex:1;min-width:160px;background:#fff;border:1px solid var(--line);border-radius:6px;padding:12px 16px;display:flex;align-items:center;justify-content:center;min-height:70px}.firma-canvas img{max-height:70px;max-width:100%;object-fit:contain}.profile-summary-avatar-thumb{border-radius:8px;overflow:hidden;background:var(--line);aspect-ratio:1;max-height:80px;width:80px}.profile-summary-avatar-thumb img{width:100%;height:100%;object-fit:cover}.profile-summary-firma{background:#fff;border:1px solid var(--line);border-radius:8px;padding:10px 14px;display:flex;align-items:center;justify-content:center;min-height:56px}.profile-summary-firma img{max-height:44px;max-width:100%;object-fit:contain}@media(max-width:560px){.profile-account-header{grid-template-columns:56px 1fr;grid-template-rows:auto auto}.profile-account-avatar{width:56px;height:56px;font-size:18px}.profile-account-avatar-upload{grid-column:1 / -1;flex-direction:row;align-items:center}}.field-label-standalone{display:block;font-size:13px;font-weight:600;color:var(--ink);margin-bottom:8px}.pdf-layout-picker{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:20px}.pdf-layout-card{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 10px 14px;border:2px solid var(--line);border-radius:10px;background:var(--surface);cursor:pointer;text-align:center;transition:border-color .15s,background .15s}.pdf-layout-card:hover{border-color:#a8d5a0}.pdf-layout-card.active{border-color:var(--primary);background:#f0faf0}.pdf-layout-card strong{font-size:13px;color:var(--ink)}.pdf-layout-card small{font-size:11px;color:var(--muted);line-height:1.3}.pdf-preview-svg{width:100%;height:auto;border-radius:4px;border:1px solid var(--line)}@media(max-width:700px){.pdf-layout-picker{grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.pdf-layout-picker{grid-template-columns:1fr}}.security-action-card{display:grid;gap:12px}.security-action-card strong{display:block;margin-bottom:4px}.security-action-card .message{margin-bottom:0}.security-action-card button{width:100%;justify-content:center}.account-danger-card{border-top:1px solid var(--line);padding-top:12px}.account-danger-actions{display:grid;gap:8px}.profile-side{display:grid;gap:16px}.profile-summary-list{display:grid;gap:10px}.profile-summary-item{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:8px;background:#fbfcfd}.profile-summary-item small,.profile-summary-item strong{display:block}.profile-summary-item strong{overflow-wrap:anywhere;font-size:13px}.compact-message{margin:12px 0 0;font-size:12px}.signature-card{min-height:150px;display:grid;place-items:center;border:1px dashed var(--line);border-radius:8px;background:#fbfcfd;color:var(--muted)}.signature-card img{max-width:100%;max-height:120px;object-fit:contain}.avatar-preview-card{min-height:130px}.avatar-preview-card img{max-height:112px;border-radius:50%;aspect-ratio:1 / 1;object-fit:cover}.empty-state{color:var(--muted);text-align:center;padding:28px}.empty-state span{display:block;margin-bottom:12px}.modal-root{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:20px}.modal-backdrop{position:absolute;inset:0;min-height:0;padding:0;border-radius:0;background:#1018287a}.modal-backdrop:hover,.modal-backdrop:focus{background:#1018287a;box-shadow:none}.modal{position:relative;z-index:1;width:min(820px,100%);max-height:min(760px,calc(100vh - 40px));overflow:auto;background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:0 22px 60px #10182847}.patient-detail .detail-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.button-like{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:7px 10px;border:1px solid var(--line);border-radius:8px;color:var(--ink);font-size:13px;font-weight:700;text-decoration:none}.button-like:hover{background:#f7faf7;color:var(--primary-strong)}.modal-header{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px;border-bottom:1px solid var(--line);background:#fffffff5;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.modal-header h2{margin-bottom:0}.modal-body{padding:20px}.modal-actions{position:sticky;bottom:0;background:#fffffff5;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;justify-content:flex-end;gap:10px;padding:18px;border-top:1px solid var(--line)}.toast{position:fixed;right:18px;bottom:18px;z-index:60;max-width:min(420px,calc(100vw - 36px));padding:12px 14px;border-radius:8px;background:#edf5f1;color:var(--success);border:1px solid #bfdbc9;box-shadow:0 12px 30px #10182824}@media(max-width:900px){.toast{left:50%;right:auto;transform:translate(-50%);bottom:calc(86px + max(10px,env(safe-area-inset-bottom,0px)));width:calc(100vw - 32px);max-width:420px;text-align:center}input,select,textarea{font-size:16px}}.toast.error{background:#fff0ee;color:var(--danger);border-color:#f1c1bd}.pwa-install-root{position:fixed;right:18px;bottom:18px;z-index:80;width:min(380px,calc(100vw - 36px))}.pwa-install-card{display:grid;grid-template-columns:48px minmax(0,1fr);gap:12px;padding:14px;border:1px solid var(--line);border-radius:8px;background:#fffffffa;box-shadow:0 18px 45px #1018282e}.pwa-install-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:8px;background:#edf8ef}.pwa-install-icon img{width:34px;height:34px}.pwa-install-copy h2{margin:0 0 4px;font-size:16px;line-height:1.2}.pwa-install-copy p{margin:0;color:var(--muted);font-size:13px;line-height:1.35}.pwa-install-actions{grid-column:1 / -1;display:grid;grid-template-columns:1fr 1fr;gap:8px}.pwa-install-actions button{justify-content:center}.pwa-install-link{grid-column:1 / -1;min-height:32px;padding:6px 10px;background:transparent;color:var(--muted);box-shadow:none}.pwa-install-link:hover{background:#f3f6f8;color:var(--ink)}@media(max-width:900px){.pwa-install-root{left:16px;right:16px;bottom:calc(86px + max(10px,env(safe-area-inset-bottom,0px)));width:auto}.pwa-install-actions{grid-template-columns:1fr}}.error-screen{min-height:100vh;display:grid;place-content:center;gap:16px;padding:24px;text-align:center;background:var(--bg)}.error-screen .brand-logo{margin:0 auto}.error-screen p{max-width:520px;margin:0 auto}.error-screen-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.availability-hint{display:grid;gap:8px;margin-top:12px;padding:10px 12px;border:1px solid #d7ebd3;border-radius:8px;background:#f7fbf5;color:#344054;font-size:13px}.availability-hint strong{font-weight:650}.availability-hint div{display:flex;flex-wrap:wrap;gap:8px}.availability-hint button{min-height:32px;padding:6px 10px;border:1px solid #cfe6ca;background:#fff;color:var(--primary-strong)}.availability-hint.warning{border-color:#f0d59b;background:#fff8ed;color:#8a5a12}.appointments-page{gap:14px;padding:18px}.agenda-header{gap:14px}.agenda-header h2{margin-bottom:4px;font-size:22px;font-weight:700}.agenda-header .message{font-size:14px}.agenda-header-actions{gap:8px}.agenda-date-control,.agenda-tabs{min-height:42px}.agenda-date-control .icon-button,.agenda-tabs button{width:40px;height:40px;min-height:40px}.date-pill{min-width:210px;min-height:40px;font-size:13px;font-weight:650}.agenda-tabs button{min-width:62px;padding:0 12px;font-size:13px;font-weight:600}.agenda-tabs button.active{min-height:32px}.icon-action,.primary-action{min-height:42px}.icon-action{padding:0 14px}.primary-action{gap:8px;padding:0 16px;font-size:14px;font-weight:650}.primary-action span{font-size:22px}.agenda-metrics{grid-template-columns:repeat(4,minmax(140px,1fr));gap:12px}.agenda-metric{min-height:82px;grid-template-columns:48px minmax(0,1fr);gap:12px;padding:13px}.agenda-metric>span{width:48px;height:48px}.agenda-metric svg{width:21px;height:21px}.agenda-metric small{font-size:12px;font-weight:650}.agenda-metric strong{font-size:24px;font-weight:700}.agenda-metric em{font-size:12px}.agenda-layout{grid-template-columns:minmax(0,1fr) minmax(270px,310px);gap:14px}.agenda-list-head,.appointment-card{grid-template-columns:82px minmax(160px,1.15fr) minmax(130px,1fr) minmax(105px,.7fr) 104px 78px;gap:10px}.agenda-list-head{min-height:40px;padding:0 16px;font-size:12px;font-weight:650}.agenda-day-heading{min-height:42px;padding:0 16px}.agenda-day-heading h3{font-size:14px;font-weight:650}.appointment-card{min-height:64px;padding:9px 16px}.appointment-card-row{grid-template-columns:82px minmax(160px,1.15fr) minmax(130px,1fr) minmax(105px,.7fr) 104px 78px;gap:10px}.appointment-shared-panel{padding-left:92px}.appointment-time{gap:2px}.appointment-time strong{font-size:15px;font-weight:700}.appointment-time span,.appointment-main p{font-size:12px}.appointment-patient{gap:10px}.appointment-avatar{width:36px;height:36px;flex-basis:36px;font-size:12px;font-weight:700}.appointment-main h3,.appointment-reason strong{margin-bottom:4px;font-size:14px;font-weight:650}.appointment-tags span,.recurring-chip{padding:3px 7px;font-size:11px;font-weight:600}.appointment-team{font-size:13px}.appointment-status{min-width:78px;padding:5px 8px;font-size:12px;font-weight:650}.appointment-actions{gap:6px}.appointment-actions .icon-button,.appointment-menu summary{width:32px;height:32px;min-height:32px}.agenda-side{gap:12px}.agenda-mini-calendar,.day-summary,.agenda-tip{padding:15px}.mini-calendar-head{margin-bottom:12px}.mini-calendar-head h3,.day-summary h3{font-size:15px;font-weight:650}.mini-days button,.mini-days span{min-height:32px}.summary-content{grid-template-columns:82px minmax(0,1fr);gap:12px}.summary-ring{width:78px;height:78px}.summary-ring:after{inset:20px}.summary-legend{gap:8px}.summary-legend div{font-size:12px}.summary-total{padding-top:12px;font-size:13px}@media(max-width:1180px){.agenda-layout{grid-template-columns:1fr}.agenda-side{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}.agenda-tip{min-height:100%}}@media(max-width:980px){.agenda-header{flex-direction:column;align-items:stretch}.agenda-header-actions{justify-content:flex-start}.agenda-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.agenda-side{grid-template-columns:1fr}.agenda-list-head{display:none}.agenda-timeline{gap:10px;padding:10px}.appointment-card{grid-template-columns:64px minmax(0,1fr) auto;gap:8px 10px;min-height:auto;padding:12px;border:1px solid var(--line);border-radius:8px}.appointment-patient,.appointment-reason,.appointment-team{grid-column:2 / -1}.appointment-state{grid-column:2}.appointment-actions{grid-column:3;grid-row:1}}@media(max-width:620px){.appointments-page{padding:0;border-radius:0;border:none;background:transparent}.agenda-header{padding:14px 16px 0}.agenda-header h2{font-size:19px}.agenda-header .message{display:none}.agenda-header-actions{display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;align-items:center!important;justify-content:flex-start!important;gap:8px;padding:8px 16px;position:sticky;top:0;z-index:10;background:var(--bg);border-bottom:1px solid var(--line);margin:0}.agenda-date-control{order:1;flex:1 1 100%!important;width:100%!important;min-width:0!important}.agenda-date-control .date-pill{flex:1!important;min-width:0!important;width:auto!important;justify-content:center;font-size:.85rem;padding:6px 10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.agenda-tabs{order:2;flex:1 1 auto!important;width:auto!important}.agenda-tabs button{padding:6px 10px;font-size:.8rem}.agenda-header-actions .icon-action{order:3;flex:0 0 auto!important}.agenda-header-actions .icon-action span{display:none}.agenda-header-actions .primary-action{display:none!important}.agenda-metrics{display:flex;flex-direction:row;gap:0;overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:10px 16px;border-bottom:1px solid var(--line)}.agenda-metrics::-webkit-scrollbar{display:none}.agenda-metric{flex:1 0 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:8px 10px;min-width:72px;min-height:0;border-radius:10px;grid-template-columns:unset;text-align:center}.agenda-metric>span{width:28px;height:28px;font-size:14px}.agenda-metric strong{font-size:18px;line-height:1}.agenda-metric p{font-size:.68rem;white-space:nowrap}.agenda-metric em,.agenda-metric a{display:none}.team-agenda-chips{padding:8px 16px;gap:6px;overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none}.team-agenda-chips::-webkit-scrollbar{display:none}.agenda-day-heading{padding:10px 16px 6px;position:sticky;top:57px;z-index:5;background:var(--bg);margin:0}.agenda-timeline{gap:8px;padding:8px 16px 80px}.appointment-card{padding:10px 10px 8px;border-radius:12px;border:1px solid var(--line);background:var(--card);gap:6px}.appointment-card-row{grid-template-columns:48px 1fr 40px;grid-template-rows:auto auto auto;gap:2px 8px;align-items:start}.appointment-time{grid-column:1;grid-row:1 / 4;padding-top:2px;align-self:start}.appointment-time strong{font-size:12px}.appointment-time span{font-size:.65rem}.appointment-patient{grid-column:2;grid-row:1}.appointment-reason{grid-column:2;grid-row:2}.appointment-state,.appointment-team{display:none}.appointment-actions{grid-column:3;grid-row:1;display:flex;flex-direction:column;align-items:flex-end;gap:4px}.appointment-avatar{width:28px;height:28px;flex-basis:28px;font-size:.68rem}.appointment-main h3{font-size:.85rem}.appointment-patient>p{font-size:.7rem}.appointment-reason strong{font-size:.75rem}.appointment-menu div{top:auto;bottom:calc(100% + 8px)}.appointment-menu summary,.appointment-actions .icon-button{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:10px}.appointment-quick-actions{gap:5px;padding-top:6px;margin-top:2px}.qa-btn{padding:5px 4px;font-size:.7rem}.appointment-shared-panel{padding-left:0}.online-reservation-chip{font-size:.65rem}.avail-reminder-banner{margin:0 14px 8px;border-radius:10px}.agenda-side{display:none}.agenda-mobile-quick{display:flex;flex-direction:column;gap:8px;padding:0 16px 12px}.agenda-mobile-quick-btn{display:flex;align-items:center;gap:10px;width:100%;padding:11px 14px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--ink);font-size:.88rem;font-weight:600;cursor:pointer;text-decoration:none}.agenda-mobile-quick-btn:disabled{opacity:.6}.agenda-empty{padding:48px 20px 80px}.agenda-empty h3{font-size:1rem}.summary-content{grid-template-columns:1fr}}@media(max-width:900px){.auth-layout,.app-layout,.feature-grid,.stats,.stats.compact,.dashboard-grid,.detail-grid,.profile-grid,.permission-grid,.two-cols,.three-cols,.builder-field,.builder-header{grid-template-columns:1fr}.toolbar-form{flex-direction:column;align-items:stretch}.availability-summary,.availability-empty{align-items:stretch;flex-direction:column}.availability-slot{grid-template-columns:1fr}.agenda-header,.next-turn-card,.team-filter-bar{flex-direction:column;align-items:stretch}.agenda-header-actions{justify-content:stretch}.agenda-date-control,.agenda-tabs,.date-pill,.primary-action,.team-filter-bar label{width:100%}.agenda-tabs button{flex:1}.agenda-metrics{display:flex;overflow-x:auto;padding-bottom:3px}.agenda-metric{min-width:220px}.agenda-layout{grid-template-columns:1fr}.agenda-side{order:2}.appointments-page{padding:18px}.agenda-list-head{display:none}.agenda-day-heading{min-height:auto;padding:16px}.agenda-timeline{gap:12px;padding:12px}.appointment-card{grid-template-columns:72px minmax(0,1fr) auto;align-items:start;gap:10px 12px;min-height:auto;padding:14px;border:1px solid var(--line);border-radius:8px}.appointment-patient,.appointment-reason,.appointment-team{grid-column:2 / -1}.appointment-state{grid-column:2}.appointment-actions{grid-column:3;grid-row:1;justify-content:flex-end}.appointment-time strong{font-size:16px}.summary-content{grid-template-columns:1fr}.agenda-fab{position:fixed;right:18px;bottom:calc(88px + max(10px,env(safe-area-inset-bottom,0px)));z-index:14;width:54px;height:54px;min-height:54px;display:grid;place-items:center;border-radius:50%;font-size:28px;box-shadow:var(--shadow-md)}.auth-panel{border-left:0;border-top:1px solid var(--line)}.topbar{flex-direction:column}.topbar-actions{width:100%;justify-content:space-between}.topbar-actions>.quiet{flex:1}.notification-wrap{flex:0 0 auto}.notification-menu{position:fixed;top:76px;left:12px;right:12px;width:auto}.detail-hero{flex-direction:column}.profile-hero{flex-direction:column;align-items:stretch}.profile-identity{align-items:flex-start}.profile-hero-meta{justify-content:flex-start}.info-list div{grid-template-columns:1fr;gap:4px}.settings-page .profile-grid,.settings-page .profile-grid+.profile-grid{grid-template-columns:1fr}.data-table{font-size:13px}.data-table th,.data-table td{padding:8px 6px}.app-layout{display:block;min-height:100vh;padding-bottom:calc(80px + max(10px,env(safe-area-inset-bottom,0px)))}.sidebar{position:fixed;left:0;right:0;bottom:0;z-index:15;height:calc(70px + max(10px,env(safe-area-inset-bottom)));min-height:0;padding:0 6px max(10px,env(safe-area-inset-bottom));display:grid;grid-template-columns:1fr;border:0;border-top:1px solid rgba(226,232,240,.85);border-radius:20px 20px 0 0;background:#fffffff7;color:var(--ink);box-shadow:0 -6px 28px #1018281a;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);overflow:visible}.sidebar-top,.sidebar-user,.sidebar>.quiet,.sidebar-toggle{display:none}.desktop-nav{display:none}.mobile-nav{display:grid;grid-template-columns:repeat(var(--mobile-nav-count, 4),minmax(0,1fr));align-items:center;height:70px;width:100%}.mobile-nav button{position:relative;min-height:0;height:70px;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:8px 4px 6px;font-size:10.5px;font-weight:600;letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-radius:0;background:transparent;color:#94a3b8;transition:color .15s}.mobile-nav button.active{color:var(--primary)}.mobile-nav button.active:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:28px;height:3px;border-radius:0 0 4px 4px;background:var(--primary)}.mobile-nav button.active .nav-icon{background:#2c9a161f;color:var(--primary)}.mobile-nav button:not(.mobile-create-button):hover{color:var(--ink)}.mobile-nav button:not(.mobile-create-button):hover .nav-icon{background:#f1f5f9}.nav-icon{width:44px;height:30px;border-radius:15px;background:transparent;color:currentColor;display:grid;place-items:center;transition:background .15s,color .15s}.nav-icon .app-icon{width:21px;height:21px;stroke-width:2}.mobile-nav .mobile-create-button{position:relative;width:52px;height:52px;min-height:52px;min-width:52px;justify-self:center;align-self:center;border-radius:50%;background:var(--primary);color:#fff;font-size:28px;font-weight:300;line-height:1;box-shadow:0 4px 18px #2c9a1670,0 1px 4px #2c9a162e;transform:translateY(-10px);padding:0;border:3px solid #ffffff;display:grid;place-items:center;text-align:center;transition:background .14s,box-shadow .14s,transform .12s}.mobile-nav .mobile-create-button:hover{background:var(--primary-strong);box-shadow:0 6px 22px #2c9a1685,0 2px 6px #2c9a1638;transform:translateY(-12px)}.mobile-nav .mobile-create-button:active{transform:translateY(-7px);box-shadow:0 3px 10px #2c9a1659}.mobile-nav .mobile-create-button:disabled{background:#b0bec5;box-shadow:none;cursor:not-allowed;opacity:.85;transform:translateY(-10px)}.mobile-sheet-actions .quick-link{min-height:54px;font-weight:700}.nav-dots{color:currentColor;font-size:24px;letter-spacing:2px;line-height:.7}.workspace{padding:14px 14px 92px}.topbar{padding:12px;margin:-14px -14px 0;background:#f4f6f8f5;border-bottom:1px solid var(--line)}.topbar-context{min-width:0}.topbar-greeting{font-size:16px}.topbar-subtitle{display:none}.topbar-actions{width:auto;justify-content:flex-end;flex:0 0 auto}.panel-title{align-items:flex-start}.panel,.profile-hero{border-radius:10px;padding:14px}table{min-width:720px}.mobile-card-table{overflow:visible}.mobile-card-table table,.mobile-card-table thead,.mobile-card-table tbody,.mobile-card-table tr,.mobile-card-table td{display:block;width:100%;min-width:0}.mobile-card-table table{background:transparent}.mobile-card-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.mobile-card-table tbody{display:grid;gap:12px}.mobile-card-table tr{padding:12px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:var(--shadow-sm)}.mobile-card-table td{min-height:34px;padding:9px 0;border-bottom:1px solid #edf1f5}.mobile-card-table td:not(:last-child){display:grid;grid-template-columns:112px minmax(0,1fr);gap:10px;align-items:start}.mobile-card-table td:before{color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase}.mobile-card-table td:last-child{padding-bottom:0;border-bottom:0}.mobile-card-table td:last-child:before{display:none}.mobile-card-table .actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:4px}.mobile-card-table .actions.icon-actions{display:flex;justify-content:flex-end}.mobile-card-table .actions button{width:100%;min-height:40px;justify-content:center}.mobile-card-table .actions.icon-actions .icon-button,.mobile-card-table .actions.icon-actions .share-menu summary.icon-button{width:40px;min-width:40px;height:40px;min-height:40px}.mobile-card-table .share-menu{width:100%}.mobile-card-table .share-menu summary{width:100%;min-height:40px}.mobile-card-table .share-menu-options{position:static;margin-top:8px;box-shadow:var(--shadow-sm)}.mobile-card-table .empty-state{display:block;padding:20px 8px;border:0;box-shadow:none}.patients-mobile-panel td:nth-child(1):before{content:"Paciente"}.patients-mobile-panel td:nth-child(2):before{content:"Edad"}.patients-mobile-panel td:nth-child(3):before{content:"Contacto"}.patients-mobile-panel td:nth-child(4):before{content:"Profesional"}.patients-mobile-panel td:nth-child(5):before{content:"Tutor"}.patients-mobile-panel td:nth-child(6):before{content:"Obra social"}.reports-mobile-panel td:nth-child(1):before{content:"Paciente"}.reports-mobile-panel td:nth-child(2):before{content:"Tipo"}.reports-mobile-panel td:nth-child(3):before{content:"Profesional"}.reports-mobile-panel td:nth-child(4):before{content:"Estado"}.reports-mobile-panel td:nth-child(5):before{content:"Acciones"}.templates-mobile-panel td:nth-child(1):before{content:"Plantilla"}.templates-mobile-panel td:nth-child(2):before{content:"Uso"}.templates-mobile-panel td:nth-child(3):before{content:"Estado"}.templates-mobile-panel td:nth-child(4):before{content:"Descripcion"}.templates-mobile-panel td:nth-child(5):before{content:"Actualizada"}.templates-mobile-panel td:nth-child(6):before{content:"Acciones"}.planning-mobile-panel td:nth-child(1):before{content:"Paciente"}.planning-mobile-panel td:nth-child(2):before{content:"Profesional"}.planning-mobile-panel td:nth-child(3):before{content:"Periodo"}.planning-mobile-panel td:nth-child(4):before{content:"Cierre"}.planning-mobile-panel td:nth-child(5):before{content:"Estado"}.planning-mobile-panel td:nth-child(6):before{content:"Acciones"}.appointments-mobile-panel td:nth-child(1):before{content:"Fecha"}.appointments-mobile-panel td:nth-child(2):before{content:"Horario"}.appointments-mobile-panel td:nth-child(3):before{content:"Paciente"}.appointments-mobile-panel td:nth-child(4):before{content:"Profesional"}.appointments-mobile-panel td:nth-child(5):before{content:"Estado"}.institutions-mobile-panel td:nth-child(1):before{content:"Cuenta"}.institutions-mobile-panel td:nth-child(2):before{content:"Acceso"}.institutions-mobile-panel td:nth-child(3):before{content:"Email"}.institutions-mobile-panel td:nth-child(4):before{content:"Estado"}.institutions-mobile-panel td:nth-child(5):before{content:"Certificados"}.institutions-mobile-panel td:nth-child(6):before{content:"Acciones"}.patients-mobile-panel td:first-child,.reports-mobile-panel td:first-child,.templates-mobile-panel td:first-child,.planning-mobile-panel td:first-child,.appointments-mobile-panel td:first-child,.institutions-mobile-panel td:first-child{grid-template-columns:1fr;gap:4px;padding-top:0;font-size:16px;font-weight:700}.patients-mobile-panel td:first-child:before,.reports-mobile-panel td:first-child:before,.templates-mobile-panel td:first-child:before,.planning-mobile-panel td:first-child:before,.appointments-mobile-panel td:first-child:before,.institutions-mobile-panel td:first-child:before{font-size:11px}.patient-history table,.patient-history thead,.patient-history tbody,.patient-history tr,.patient-history td{display:block;width:100%;min-width:0}.patient-history table{background:transparent}.patient-history thead{display:none}.patient-history tbody{display:grid;gap:10px}.patient-history tr{padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fff}.patient-history td{display:grid;grid-template-columns:102px minmax(0,1fr);gap:8px;padding:8px 0;border-bottom:1px solid #edf1f5}.patient-history td:last-child{border-bottom:0}.patient-history td:before{color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase}.reports-history td:nth-child(1):before{content:"Tipo"}.reports-history td:nth-child(2):before{content:"Profesional"}.reports-history td:nth-child(3):before{content:"Estado"}.reports-history td:nth-child(4):before{content:"Periodo"}.reports-history td:nth-child(5):before{content:"Actualizado"}.planning-history td:nth-child(1):before{content:"Periodo"}.planning-history td:nth-child(2):before{content:"Profesional"}.planning-history td:nth-child(3):before{content:"Inicio"}.planning-history td:nth-child(4):before{content:"Cierre"}.planning-history td:nth-child(5):before{content:"Estado"}.appointments-history td:nth-child(1):before{content:"Fecha"}.appointments-history td:nth-child(2):before{content:"Horario"}.appointments-history td:nth-child(3):before{content:"Profesional"}.appointments-history td:nth-child(4):before{content:"Estado"}.appointments-history td:nth-child(5):before{content:"Modalidad"}.certificates-history td:nth-child(1):before{content:"Titulo"}.certificates-history td:nth-child(2):before{content:"Key"}.certificates-history td:nth-child(3):before{content:"Estado"}.certificates-history td:nth-child(4):before{content:"Estado"}.certificates-history td:nth-child(5):before{content:"Emision"}.certificates-mobile-panel td:nth-child(1):before{content:"Persona"}.certificates-mobile-panel td:nth-child(2):before{content:"Key"}.certificates-mobile-panel td:nth-child(3):before{content:"Estado"}.certificates-mobile-panel td:nth-child(4):before{content:"Emision"}.certificates-mobile-panel td:nth-child(5):before{content:"Acciones"}.detail-actions{display:grid;grid-template-columns:1fr}.detail-actions button,.detail-actions .button-like{width:100%}.patient-detail .stats.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.modal-root{align-items:end;padding:0}.modal{width:100%;max-height:calc(100vh - 24px);border-radius:16px 16px 0 0}.modal-body{padding:16px;padding-bottom:max(16px,env(safe-area-inset-bottom,0px))}.modal-actions{padding:14px 16px;padding-bottom:max(14px,env(safe-area-inset-bottom,0px));flex-direction:column}.modal-actions button,.modal-actions a{width:100%;text-align:center;justify-content:center}.modal-body .form-stack .actions{flex-direction:column}.modal-body .form-stack .actions button,.modal-body .form-stack .actions .button-like{width:100%;text-align:center;justify-content:center}}.sidebar{position:sticky;top:0;min-height:100vh;background:#fff}.nav button{border-radius:10px;font-weight:500}.nav button.active,.nav button:hover{box-shadow:none}.workspace{background:var(--bg)}.topbar{align-items:center;padding:14px 18px;border:1px solid rgba(216,222,232,.8);border-radius:12px;background:#fffffff0;box-shadow:0 10px 30px #1018280d}.topbar-context{display:grid;gap:2px}.user-menu{position:relative}.user-menu summary{min-height:42px;display:flex;align-items:center;gap:10px;list-style:none;cursor:pointer}.user-menu summary::-webkit-details-marker{display:none}.user-menu-text{display:grid;line-height:1.2}.user-menu-text strong{font-size:13px}.user-menu-text small{font-size:11px}.user-menu-popover{position:absolute;right:0;top:calc(100% + 10px);z-index:30;width:190px;display:grid;gap:7px;padding:10px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:var(--shadow-md)}.user-menu-popover button{justify-content:flex-start;width:100%}.inicio-page{display:flex;flex-direction:column;gap:16px}.inicio-skeleton{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.inicio-skeleton>div{height:90px;border-radius:12px;background:linear-gradient(90deg,#f0f2f5 25%,#e8ecf0,#f0f2f5 75%);background-size:200% 100%;animation:shimmer 1.4s infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.inicio-kpis{display:grid;grid-template-columns:repeat(3,1fr) 1.3fr;gap:12px}.kpi-card{display:flex;align-items:center;gap:14px;padding:16px 18px;border-radius:12px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-sm);transition:box-shadow .16s,border-color .16s}.kpi-card:hover{box-shadow:0 8px 24px #10182817;border-color:#c8d5e4}.kpi-icon-wrap{flex:0 0 44px;height:44px;border-radius:10px;display:grid;place-items:center;flex-shrink:0}.kpi-icon-wrap svg{width:20px;height:20px}.kpi-blue .kpi-icon-wrap{background:#eff6ff;color:#2563eb}.kpi-green .kpi-icon-wrap{background:#edfaed;color:var(--primary)}.kpi-purple .kpi-icon-wrap{background:#f5f3ff;color:#7c3aed}.kpi-red .kpi-icon-wrap{background:#fff5f5;color:var(--danger)}.kpi-next .kpi-icon-wrap{background:#edfaed;color:var(--primary)}.kpi-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.kpi-label{font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kpi-value{font-size:26px;font-weight:700;line-height:1;color:var(--ink)}.kpi-value-sm{font-size:14px;font-weight:600;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ink)}.kpi-sub{font-size:12px;color:var(--muted)}.kpi-next{border-color:#bfe7b8;background:linear-gradient(135deg,#fff,#f4fbf1)}.kpi-action{flex-shrink:0;min-height:30px;padding:5px 12px;font-size:12px;font-weight:700;border-radius:8px}.inicio-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:20px;box-shadow:var(--shadow-sm)}.inicio-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.inicio-card-title{display:flex;align-items:center;gap:8px}.inicio-card-title h3{margin:0;font-size:15px;font-weight:700}.inicio-card-title svg{width:17px;height:17px;color:var(--primary);flex-shrink:0}.card-action-link{min-height:auto;padding:4px 10px;background:transparent;color:var(--primary);font-size:13px;font-weight:600;border-radius:6px}.card-action-link:hover{background:#edfaed;color:var(--primary)}.inicio-main-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:14px}.inicio-secondary-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.inicio-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:28px 16px;color:var(--muted);text-align:center}.inicio-empty svg{width:28px;height:28px;opacity:.3}.inicio-empty p{margin:0;font-size:14px}.inicio-empty button{min-height:32px;padding:6px 16px;font-size:13px;margin-top:2px}.inicio-onboarding{background:linear-gradient(135deg,#f4fbf1,#edfaed);border:1px solid #bfe7b8;border-radius:12px;padding:20px 24px}.onboarding-header{margin-bottom:14px}.onboarding-header strong{font-size:15px;font-weight:700}.onboarding-header p{margin:3px 0 0;font-size:13px;color:var(--muted)}.reminder-widget-list{display:flex;flex-direction:column;gap:2px}.reminder-widget-row{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:8px;border:none;background:transparent;text-align:left;cursor:pointer;transition:background .14s;width:100%;min-height:auto}.reminder-widget-row:hover{background:var(--bg)}.reminder-widget-body{flex:1;min-width:0}.reminder-widget-body strong{display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ink)}.reminder-widget-body small{font-size:12px;color:var(--muted)}.reminder-widget-date{font-size:12px;color:var(--muted);flex-shrink:0}.reminder-widget-date.overdue{color:var(--danger);font-weight:600}.chart-totals{display:flex;gap:8px;flex-wrap:wrap;font-size:12px;color:var(--muted);padding:0 4px}.chart-totals b{color:var(--ink);font-weight:700;margin-right:2px}.analytics-page{gap:14px}.analytics-kpis{display:grid;grid-template-columns:repeat(4,minmax(128px,1fr));gap:10px}.compact-kpi{min-height:86px;grid-template-columns:34px minmax(0,1fr);grid-template-areas:"icon label" "icon value";align-content:center;gap:4px 10px;padding:13px 14px;border-radius:10px;box-shadow:0 6px 18px #1018280b}.compact-kpi .kpi-icon{grid-area:icon;width:34px;height:34px;border-radius:9px}.compact-kpi>span{grid-area:label;align-self:end;overflow:hidden;color:#667085;font-size:12px;line-height:1.15;white-space:nowrap;text-overflow:ellipsis}.compact-kpi>strong{grid-area:value;align-self:start;font-size:23px;line-height:1.05}.analytics-grid,.split-bars{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.bar-list{display:grid;gap:12px}.bar-list h3{margin-bottom:2px;font-size:15px}.bar-row{display:grid;gap:6px}.bar-row div{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:13px}.bar-row strong{color:var(--ink)}.bar-track{height:9px;overflow:hidden;border-radius:999px;background:#edf1f5}.bar-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--primary),#77c967)}.admin-report-modern{gap:12px;max-width:1180px;margin:0 auto;width:100%}.admin-report-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding:0 2px 2px}.admin-report-hero h2{margin:1px 0 2px;font-size:24px;letter-spacing:0}.admin-report-hero .message{max-width:620px;font-size:13px}.admin-report-hero .quiet,.admin-bar-card .quiet{display:inline-flex;align-items:center;gap:7px}.admin-report-kpi{min-height:74px;padding:10px 12px;border:1px solid rgba(15,23,42,.06);background:linear-gradient(180deg,#fff,#fbfcfd)}.admin-report-kpi .kpi-icon{width:30px;height:30px}.admin-report-kpi>strong{font-size:20px}.admin-report-kpi small{grid-column:2;color:var(--muted);font-size:11px;line-height:1.1}.admin-report-overview{display:grid;grid-template-columns:1.05fr 1.25fr 1fr;gap:12px}.admin-report-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.admin-bar-card{position:relative;overflow:hidden;border:1px solid rgba(15,23,42,.07);border-radius:10px;background:#fff;box-shadow:0 12px 30px #1018280e}.admin-bar-card:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:var(--bar-accent, var(--primary))}.admin-bar-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}.admin-bar-card-head h2{margin:0 0 3px;font-size:15px;line-height:1.2}.admin-bar-card-head .message{font-size:12px}.admin-bar-list{display:grid;gap:10px}.admin-bar-row{display:grid;gap:5px}.admin-bar-row-meta{display:flex;align-items:baseline;justify-content:space-between;gap:10px;font-size:12px;color:#475467}.admin-bar-row-meta span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-bar-row-meta strong{color:#101828;font-size:12px;font-weight:750;white-space:nowrap}.admin-bar-track{height:9px;overflow:hidden;border-radius:999px;background:#eef2f6;box-shadow:inset 0 0 0 1px #0f172a09}.admin-bar-track i{display:block;height:100%;min-width:0;border-radius:inherit;background:linear-gradient(90deg,var(--bar-accent, var(--primary)),var(--bar-accent-soft, #77c967));box-shadow:0 6px 12px #10182821}.admin-bar-footer{display:flex;align-items:center;justify-content:space-between;margin-top:12px;padding-top:10px;border-top:1px solid #eef2f6;color:var(--muted);font-size:11px}.admin-bar-footer strong{color:var(--ink);font-size:13px}.admin-bar-card.tone-blue{--bar-accent: #2563eb;--bar-accent-soft: #60a5fa}.admin-bar-card.tone-green{--bar-accent: #059669;--bar-accent-soft: #34d399}.admin-bar-card.tone-violet{--bar-accent: #7c3aed;--bar-accent-soft: #a78bfa}.admin-bar-card.tone-amber{--bar-accent: #d97706;--bar-accent-soft: #fbbf24}.recent-list,.global-status-list{display:flex;flex-direction:column;gap:4px}.recent-row{width:100%;min-height:auto;display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 12px;border:none;border-radius:8px;background:transparent;color:var(--ink);text-align:left;cursor:pointer;transition:background .14s}button.recent-row:hover{background:var(--bg)}.recent-row strong,.reminder-row strong,.recent-row small,.reminder-row small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recent-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;background:#edf8ea;color:var(--primary-strong)}.recent-meta{display:grid;justify-items:end;gap:5px}.status-pill{display:inline-flex;align-items:center;justify-content:center;width:fit-content;min-height:24px;border-radius:999px;padding:3px 9px;background:#eef4ff;color:#345995;font-size:11px;font-weight:800}.status-pill.success{background:#e9f8e6;color:var(--primary-strong)}.status-pill.warn{background:#fff3df;color:#9a5a00}.line-chart-card{display:grid;gap:12px}.line-chart-card svg{width:100%;min-height:230px;border:1px solid var(--line);border-radius:12px;background:linear-gradient(180deg,#fff,#f8fbf7)}.chart-area{fill:#2c9a161a}.chart-line{fill:none;stroke:var(--primary);stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.analytics-line .secondary-line{stroke:#2f68d8}.chart-dot{fill:#fff;stroke:var(--primary);stroke-width:3}.analytics-line .secondary-dot{stroke:#2f68d8}.line-chart-card text{fill:var(--muted);font-size:12px;font-weight:700}.chart-legend{display:flex;flex-wrap:wrap;gap:8px}.chart-legend span{display:inline-flex;align-items:baseline;gap:5px;border:1px solid var(--line);border-radius:999px;padding:5px 9px;background:#fff;color:var(--muted);font-size:12px}.chart-legend b{color:var(--ink)}.legend-green,.legend-blue{width:10px;height:10px;display:inline-block;border-radius:50%}.legend-green{background:var(--primary)}.legend-blue{background:#2f68d8}.empty-copy{margin:0;padding:18px;border:1px dashed var(--line);border-radius:10px;color:var(--muted);text-align:center}@media(max-width:1120px){.analytics-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.analytics-grid{grid-template-columns:1fr}.inicio-kpis{grid-template-columns:repeat(2,1fr)}}@media(max-width:900px){.sidebar{position:fixed;inset:auto 0 0;height:calc(70px + max(10px,env(safe-area-inset-bottom)));min-height:0;padding:0 6px max(10px,env(safe-area-inset-bottom));border-radius:20px 20px 0 0;background:#fffffff7}.topbar{flex-direction:row;align-items:center}.topbar-context span,.user-menu-text{display:none}.inicio-main-grid,.inicio-secondary-grid,.analytics-kpis,.analytics-grid,.split-bars,.admin-report-overview,.admin-report-grid,.preview-grid{grid-template-columns:1fr}.admin-report-hero{align-items:stretch;flex-direction:column}.inicio-kpis{grid-template-columns:repeat(2,1fr)}.kpi-next{grid-column:auto}.inicio-page{gap:12px}.recent-row,.reminder-row{grid-template-columns:34px minmax(0,1fr)}.recent-meta,.reminder-row .status-pill{grid-column:2;justify-items:start}.line-chart-card svg{min-height:190px}.analytics-mobile-panel td:nth-child(1):before{content:"Profesional"}.analytics-mobile-panel td:nth-child(2):before{content:"Informes"}.analytics-mobile-panel td:nth-child(3):before{content:"Turnos"}.analytics-mobile-panel td:nth-child(4):before{content:"Pacientes"}.analytics-mobile-panel td:nth-child(5):before{content:"Certificados"}}@media(max-width:560px){button.icon-button{width:38px;height:38px;min-width:38px;min-height:38px;padding:0}button.primary-icon{width:42px;height:42px;min-width:42px;min-height:42px;padding:0;border-radius:50%;font-size:24px;line-height:0}button.primary-icon:before{font-size:25px;transform:translateY(-1px)}.topbar{margin:-4px -4px 0;padding:12px}.panel-title{display:grid;grid-template-columns:minmax(0,1fr) auto}.panel-title h2{font-size:19px;margin-bottom:6px}.panel-title .message{font-size:12px;line-height:1.35;margin-bottom:0}.panel-actions{gap:6px;justify-content:flex-end}.inicio-kpis{grid-template-columns:1fr}.kpi-card{padding:12px 14px;gap:10px}.kpi-value{font-size:22px}.kpi-icon-wrap{flex:0 0 36px;height:36px}.inicio-card{padding:14px}.compact-kpi{min-height:78px;padding:12px}.compact-kpi>strong{font-size:22px}.user-menu-popover{right:-2px}}@media(max-width:980px){.agenda-metric{min-width:0}.appointment-card{grid-template-columns:64px minmax(0,1fr) auto;gap:8px 10px;min-height:auto;padding:12px;border:1px solid var(--line);border-radius:8px}.appointment-patient,.appointment-reason,.appointment-team{grid-column:2 / -1}.appointment-state{grid-column:2}.appointment-actions{grid-column:3;grid-row:1;padding-top:0;border-top:0}}@media(max-width:620px){.appointments-page{padding:0}.appointment-card{grid-template-columns:58px minmax(0,1fr) 34px}.global-busy{left:16px;right:16px;bottom:calc(82px + max(10px,env(safe-area-inset-bottom,0px)));justify-content:center}}.patient-tabs{display:flex;gap:4px;padding:4px;border-radius:10px;background:#f0f3f7;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.patient-tabs::-webkit-scrollbar{display:none}.patient-tabs button{flex:0 0 auto;min-height:38px;padding:8px 18px;border-radius:7px;background:transparent;color:#536173;font-size:14px;font-weight:700;white-space:nowrap;transition:background .14s,color .14s,box-shadow .14s}.patient-tabs button:hover{background:#ffffffb3;color:var(--ink)}.patient-tabs button.active{background:#fff;color:var(--ink);box-shadow:0 2px 8px #10182817}.patient-tab-content{display:grid;gap:16px;animation:fadeIn .18s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.quick-note-form{display:grid;gap:10px;margin-top:12px}.quick-note-form textarea{min-height:72px;resize:vertical;border-color:#d0d9e4;background:#fff;font-size:14px;line-height:1.55}.quick-note-form button{justify-self:end;min-height:36px;padding:8px 18px;font-size:13px}th,td{padding:13px 16px}body{font-size:15px;line-height:1.5}.message,small{font-size:13.5px;line-height:1.45}.detail-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.detail-actions button,.detail-actions .button-like{display:inline-flex;align-items:center;gap:7px;min-height:38px;font-size:13.5px}.detail-actions button svg,.detail-actions .button-like svg{width:15px;height:15px;flex-shrink:0}.summary-card{display:grid;gap:4px;padding:12px 16px;border:1px solid var(--line);border-radius:8px;background:#f8fafc}.summary-card strong{font-size:15px}.summary-card small{color:var(--muted);font-size:13px}.patient-history{display:grid;gap:10px}.patient-history h3{margin-bottom:0;font-size:15px;font-weight:800;color:var(--ink)}.patient-tab-content .empty-state{padding:24px;text-align:center}@media(max-width:768px){.patient-tabs{gap:2px}.patient-tabs button{padding:8px 14px;font-size:13px}.detail-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}.onboarding-panel .panel-body{padding:0}.onboarding-steps{display:flex;flex-direction:column}.onboarding-step{display:flex;align-items:center;gap:16px;padding:18px 20px;background:transparent;border:none;border-bottom:1px solid var(--border);text-align:left;cursor:pointer;transition:background .14s}.onboarding-step:last-child{border-bottom:none}.onboarding-step:hover{background:var(--surface)}.onboarding-step-num{flex:0 0 32px;height:32px;border-radius:50%;background:var(--primary);color:#fff;font-size:14px;font-weight:700;display:flex;align-items:center;justify-content:center}.onboarding-step>div{flex:1}.onboarding-step strong{display:block;font-size:14px;color:var(--ink)}.onboarding-step .message{margin:2px 0 0}.onboarding-step>svg{opacity:.35;flex:0 0 20px}.firma-callout{display:flex;align-items:flex-start;gap:14px;padding:14px 18px;margin-bottom:20px;background:#fffbe6;border:1px solid #ffe58f;border-radius:8px;color:var(--ink)}.firma-callout svg{flex:0 0 20px;margin-top:2px;color:#d48806}.firma-callout strong{display:block;font-size:14px}.firma-callout p{margin:3px 0 0;font-size:13px;color:var(--muted)}.dashboard-bottom-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}@media(max-width:860px){.dashboard-bottom-grid{grid-template-columns:1fr}}.agenda-list{display:flex;flex-direction:column;gap:4px}.agenda-row{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:8px;border:none;background:transparent;text-align:left;cursor:pointer;transition:background .14s;width:100%;color:var(--text)}.agenda-row:hover{background:var(--bg)}.agenda-time{flex:0 0 44px;font-size:13px;font-weight:600;color:var(--primary);font-variant-numeric:tabular-nums}.agenda-info{flex:1;min-width:0}.agenda-info strong{display:block;font-size:14px;color:var(--text-strong);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.agenda-info small{font-size:12px;color:var(--text-muted)}.empty-state-inline{display:flex;flex-direction:column;align-items:center;gap:6px;padding:24px 0;color:var(--muted)}.empty-state-inline svg{width:28px;height:28px;opacity:.4}.empty-state-inline p{margin:0;font-size:13px}.reminder-list{display:flex;flex-direction:column;gap:4px}.reminder-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;border:none;background:transparent;text-align:left;cursor:pointer;transition:background .14s;width:100%}.reminder-row:hover{background:var(--bg)}.reminder-row-body{flex:1;min-width:0}.reminder-row-body strong{display:block;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reminder-row-body small{font-size:12px;color:var(--muted)}.reminder-date{font-size:12px;color:var(--muted);flex-shrink:0}.prio-dot{flex:0 0 8px;height:8px;border-radius:50%}.panel-footer-link{display:block;width:100%;margin-top:8px;padding:8px;text-align:center;font-size:13px;color:var(--primary);background:transparent;border:none;cursor:pointer;border-radius:6px;transition:background .14s}.panel-footer-link:hover{background:var(--bg)}.reminders-filter-row{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}.filter-chip{padding:6px 14px;border-radius:999px;border:1px solid var(--line);background:var(--surface);font-size:13px;color:var(--muted);cursor:pointer;transition:all .14s;min-height:auto}.filter-chip:hover{border-color:var(--primary);color:var(--primary)}.filter-chip.active{background:var(--primary);color:#fff;border-color:var(--primary)}.reminders-overdue-banner{display:flex;align-items:center;gap:10px;padding:10px 16px;background:#fff5f5;border:1px solid #feb2b2;border-radius:8px;color:var(--danger);font-size:13px;font-weight:500;margin-bottom:14px}.reminders-overdue-banner svg{width:16px;height:16px;flex-shrink:0}.reminders-list{display:flex;flex-direction:column;gap:2px}.reminder-item{display:flex;align-items:flex-start;gap:12px;padding:12px 16px;border-radius:8px;border-bottom:1px solid var(--line);transition:background .14s}.reminder-item:last-child{border-bottom:none}.reminder-item:hover{background:var(--bg)}.reminder-item.completed{opacity:.55}.reminder-item.overdue{background:#fff5f5}.reminder-check{flex:0 0 20px;height:20px;margin-top:2px;border-radius:50%;border:2px solid var(--line);background:transparent;padding:0;min-height:auto;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .14s}.reminder-check:hover{border-color:var(--primary)}.reminder-check.checked{background:var(--primary);border-color:var(--primary);color:#fff}.reminder-check.checked svg{width:11px;height:11px}.reminder-body{flex:1;min-width:0}.reminder-title-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.reminder-title{font-size:14px}.completed .reminder-title{text-decoration:line-through}.reminder-desc{font-size:13px;color:var(--muted);margin:4px 0 0}.reminder-meta{display:flex;align-items:center;gap:12px;margin-top:6px;font-size:12px;color:var(--muted)}.reminder-meta span{display:flex;align-items:center;gap:4px}.reminder-meta svg{width:12px;height:12px}.overdue-text{color:var(--danger)}.reminder-actions{display:flex;gap:4px;flex-shrink:0;opacity:0;transition:opacity .14s}.reminder-item:hover .reminder-actions{opacity:1}.icon-btn{display:flex;align-items:center;justify-content:center;width:30px;min-height:30px;padding:0;border-radius:6px;background:transparent;border:none;color:var(--muted);cursor:pointer;transition:all .14s}.icon-btn:hover{background:var(--bg);color:var(--ink)}.icon-btn.danger:hover{background:#fff5f5;color:var(--danger)}.icon-btn svg{width:15px;height:15px}.prio-badge{font-size:11px;font-weight:600;padding:2px 7px;border-radius:999px;text-transform:uppercase;letter-spacing:.03em;flex-shrink:0}.prio-alta{background:#fff5f5;color:#c53030}.prio-media{background:#fffbeb;color:#b45309}.prio-baja{background:#f0fdf4;color:#166534}.reminder-share-tag{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;padding:2px 8px;border-radius:999px;background:#eef2ff;color:#4338ca;flex-shrink:0}.reminder-share-tag.received{background:#ecfdf5;color:#047857}.reminder-share-tag svg{width:11px;height:11px}.reminder-share-list{display:flex;flex-wrap:wrap;gap:8px;padding:8px 0 4px}.reminder-share-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--line);border-radius:999px;background:#fff;font-size:13px;cursor:pointer;transition:all .14s}.reminder-share-chip:hover{background:var(--bg)}.reminder-share-chip input{margin:0;cursor:pointer}.reminder-share-chip:has(input:checked){background:#eef2ff;border-color:#c7d2fe;color:#4338ca}.reminder-popup-overlay{position:fixed;inset:0;background:#0f172a73;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:flex-end;justify-content:center;padding:24px;z-index:9999;animation:reminderPopupFade .18s ease-out}@keyframes reminderPopupFade{0%{opacity:0}to{opacity:1}}.reminder-popup-card{background:#fff;border-radius:16px;box-shadow:0 24px 48px #0f172a40;padding:24px;max-width:480px;width:100%;animation:reminderPopupSlide .22s ease-out}@keyframes reminderPopupSlide{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@media(min-width:640px){.reminder-popup-overlay{align-items:center}}.reminder-popup-header{display:flex;align-items:flex-start;gap:14px;margin-bottom:12px}.reminder-popup-header h3{margin:2px 0 0;font-size:18px;line-height:1.3}.reminder-popup-icon{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:12px;background:#ecfdf5;color:#059669;flex-shrink:0}.reminder-popup-icon svg{width:20px;height:20px}.reminder-popup-desc{color:var(--muted);margin:0 0 14px;font-size:14px;line-height:1.5}.reminder-popup-meta{list-style:none;padding:0;margin:0 0 18px;display:flex;flex-wrap:wrap;gap:8px}.reminder-popup-meta li{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border-radius:999px;background:var(--bg);font-size:12px;color:var(--ink)}.reminder-popup-meta li svg{width:12px;height:12px}.reminder-popup-countdown{background:#eef2ff!important;color:#4338ca!important;font-weight:600}.reminder-popup-countdown.urgente{background:#fee2e2!important;color:#b91c1c!important}.reminder-popup-actions{display:flex;justify-content:flex-end;gap:8px}.choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.choice-card{min-height:132px;padding:16px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);text-align:left;display:flex;flex-direction:column;align-items:flex-start;gap:8px;box-shadow:var(--shadow-soft)}.choice-card:hover{border-color:#2c9a1657;background:#f8fdf7}.choice-card strong{font-size:15px}.choice-card small{color:var(--muted);line-height:1.4}.generated-link-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--bg)}.generated-link-card a{overflow-wrap:anywhere;color:var(--primary);font-size:13px}.pending-patient-row td{background:#fffdf5}.pending-patient-row td:first-child{border-left:3px solid #f5bf12}.public-booking-layout{min-height:100vh;align-items:start;padding:20px 12px;background:#f6f8fb}.public-booking-panel{width:min(720px,100%);border-radius:16px}.public-booking-header{display:flex;gap:12px;align-items:center;margin-bottom:16px}.public-booking-avatar{width:54px;height:54px;flex:0 0 auto}.booking-days-section{display:grid;gap:10px;margin:12px 0 16px}.booking-days-section h3{margin:0;font-size:1rem}.booking-days-section p{margin:2px 0 0;color:var(--muted);font-size:13px}.booking-day-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.booking-day-strip button{min-height:78px;padding:8px 6px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);box-shadow:none;display:grid;gap:2px;place-items:center;text-align:center}.booking-day-strip button.active{border-color:var(--primary);background:#ecfdf5;color:var(--primary)}.booking-day-strip span{font-size:11px;color:var(--muted);text-transform:capitalize}.booking-day-strip strong{font-size:15px}.booking-day-strip small{font-size:10px;line-height:1.15;color:var(--muted)}.proximos-slots-section{padding:14px;background:#f0fdf4;border:1.5px solid #bbf7d0;border-radius:12px;margin-bottom:16px}.proximos-slots-section h3{margin:0 0 12px;font-size:1rem;color:var(--primary-strong)}.proximos-slots-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.proximo-slot-card{display:flex;flex-direction:column;align-items:center;gap:4px;padding:14px 10px;border:2px solid #86efac;border-radius:10px;background:#fff;cursor:pointer;transition:border-color .15s,background .15s;min-height:0}.proximo-slot-card strong{font-size:1.35rem;font-weight:800;color:var(--primary-strong);line-height:1}.proximo-slot-card span{font-size:.78rem;color:var(--muted);text-align:center}.proximo-slot-card:hover,.proximo-slot-card.active{border-color:var(--primary);background:#ecfdf5}.public-slots{padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--bg);margin-bottom:16px}.public-slots h3{margin:0 0 12px;font-size:1rem}.public-slot-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:8px}.public-slot-grid button{display:flex;flex-direction:column;align-items:center;gap:2px;border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:10px;padding:12px 8px;min-height:58px;box-shadow:none;font-size:15px;font-weight:800}.public-slot-grid button.active{border-color:var(--primary);background:#ecfdf5;color:var(--primary)}.public-slot-grid small{color:var(--muted);font-size:.75rem}.modality-section{padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--bg);margin-bottom:16px}.modality-section h3{margin:0 0 12px;font-size:1rem}.modality-selector{display:flex;gap:10px}.modality-selector button{flex:1;display:flex;align-items:center;justify-content:center;gap:7px;padding:11px 12px;border-radius:10px;border:1.5px solid var(--line);background:#fff;font-size:14px;font-weight:700;color:var(--muted);cursor:pointer;transition:border-color .15s,background .15s,color .15s}.modality-selector button:hover{border-color:var(--primary);color:var(--primary-strong)}.modality-selector button.active{border-color:var(--primary);background:#ecfdf5;color:var(--primary-strong);box-shadow:0 0 0 3px #16a34a14}.modality-address{display:flex;align-items:center;gap:5px;margin:10px 0 0;font-size:12.5px;color:var(--muted)}.modality-address svg{flex-shrink:0}.input-readonly{background:#f8fafc!important;color:var(--muted)!important;cursor:default!important;border-color:var(--line)!important}.input-readonly:focus{box-shadow:none!important;border-color:var(--line)!important}.booking-fields-locked-hint{grid-column:1 / -1;display:flex;align-items:flex-start;gap:6px;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;padding:9px 12px;font-size:12px;color:#166534;margin-bottom:4px}.booking-fields-locked-hint svg{flex-shrink:0;margin-top:1px}.slot-mod-tag{display:block;font-size:10px;font-weight:700;border-radius:99px;padding:1px 6px;line-height:1.4;letter-spacing:.01em}.slot-mod-tag--presencial{background:#ecfdf5;color:#166534}.slot-mod-tag--virtual{background:#eef2ff;color:#3730a3}.public-slot-grid button.active .slot-mod-tag--presencial{background:#16653426;color:#166534}.public-slot-grid button.active .slot-mod-tag--virtual{background:#3730a326;color:#3730a3}.booking-day-strip button:disabled,.booking-day-strip button.unavailable{opacity:.4;cursor:not-allowed;pointer-events:none}.booking-address{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--muted);margin:4px 0 0}.booking-address svg{flex-shrink:0}.booking-fields{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.booking-field--full{grid-column:1 / -1}.field-required{color:#ef4444;font-weight:700;margin-left:1px}.label-head{display:block;line-height:1.3}.label-hint{font-size:12px;color:var(--muted, #888);font-weight:400}@media(max-width:560px){.booking-fields{grid-template-columns:1fr}.booking-field--full{grid-column:1}}.booking-form-head{display:grid;gap:2px}.booking-form-head h3{margin:0;font-size:1rem}.booking-form-head p{margin:0;color:var(--muted);font-size:13px}.booking-success{width:54px;height:54px;display:grid;place-items:center;border-radius:50%;background:#dcfce7;color:var(--primary);margin-bottom:14px}.booking-confirmation-card,.selected-slot-summary{display:grid;gap:4px;padding:12px 14px;border:1px solid #cfe8c8;border-radius:12px;background:#f4fbf2;margin:12px 0}.booking-confirmation-card span,.selected-slot-summary span{color:var(--primary-strong);font-size:12px;font-weight:800}.booking-confirmation-card strong,.selected-slot-summary strong{color:var(--ink);font-size:15px}.booking-confirmation-card small{color:var(--muted)}.booking-link-card{display:grid;gap:10px}.booking-link-card a{display:block;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--primary);word-break:break-all;font-size:.9rem}.availability-blocked{display:grid;gap:10px;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--bg)}.availability-blocked-add{display:flex;gap:8px;align-items:center}.availability-section-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.availability-section-head strong{display:block;margin-bottom:2px}.availability-blocked-add input{max-width:180px}.availability-blocked-list{display:flex;flex-wrap:wrap;gap:8px}.availability-blocked-list span{display:inline-flex;align-items:center;gap:6px;padding:6px 8px;border-radius:999px;background:#fff;border:1px solid var(--line);font-size:12px}.availability-blocked-list button{min-height:20px;padding:0 6px;border-radius:999px}@media(max-width:640px){.choice-grid{grid-template-columns:1fr}.public-booking-layout{padding:0}.public-booking-header{align-items:flex-start}.public-booking-panel{min-height:100vh;border-radius:0;box-shadow:none}.public-booking-panel h2{font-size:1.25rem;line-height:1.25}.public-slot-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.booking-day-strip{display:flex;overflow-x:auto;padding-bottom:4px;scroll-snap-type:x mandatory}.booking-day-strip button{min-width:82px;scroll-snap-align:start}.public-slot-grid button{min-height:54px}.availability-section-head,.availability-blocked-add{flex-direction:column;align-items:stretch}.availability-blocked-add input{max-width:none}}.tos-overlay{position:fixed;inset:0;z-index:1000;background:#101828a6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:20px}.tos-dialog{background:var(--surface);border-radius:14px;border:1px solid var(--line);box-shadow:0 24px 64px #10182838;width:100%;max-width:640px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.tos-header{padding:24px 28px 16px;border-bottom:1px solid var(--line);flex-shrink:0}.tos-header h2{font-size:18px;font-weight:800;color:var(--ink);letter-spacing:-.02em;margin-bottom:4px}.tos-header p{font-size:13px;color:var(--muted)}.tos-body{flex:1;overflow-y:auto;padding:20px 28px}.tos-body pre{font-family:inherit;font-size:12.5px;color:var(--ink2);line-height:1.75;white-space:pre-wrap;word-break:break-word}.tos-footer{padding:16px 28px 20px;border-top:1px solid var(--line);flex-shrink:0;display:flex;flex-direction:column;gap:10px}.tos-note{font-size:12px;color:var(--muted)}.tos-footer button{align-self:flex-end}.tos-footer .btn-primary{background:var(--primary);color:#fff;border:none;border-radius:var(--r-sm);font-size:14px;font-weight:700;padding:11px 22px;cursor:pointer;transition:background .15s,opacity .15s}.tos-footer .btn-primary:disabled{opacity:.5;cursor:not-allowed}.tos-footer .btn-primary:not(:disabled):hover{background:var(--primary-strong);color:#fff}.vc-card{max-width:460px}.vc-hint{font-size:11px;color:var(--muted);line-height:1.4;margin-top:-2px}.vc-tos-row{display:flex;align-items:flex-start;gap:10px;padding:11px 13px;background:#f8fafc;border:1px solid var(--line);border-radius:8px}.vc-tos-row input[type=checkbox]{width:16px;height:16px;min-height:unset;flex-shrink:0;margin-top:2px;accent-color:var(--primary);cursor:pointer;border-radius:3px}.vc-tos-row label{font-size:13px;font-weight:500;color:var(--ink2);line-height:1.5;cursor:pointer}.vc-tos-link{background:none;border:none;padding:0;margin:0;min-height:unset;font-family:inherit;font-size:13px;font-weight:600;color:var(--primary);cursor:pointer;text-decoration:underline;display:inline;border-radius:0;line-height:inherit}.vc-tos-link:hover{color:var(--primary-strong);background:none}.vc-legal-note{display:grid;gap:6px;padding:10px 12px;border:1px solid #cbd5e1;border-radius:7px;background:#f8fafc;color:var(--ink2);font-size:12px;line-height:1.5}.vc-legal-note .vc-tos-link{width:fit-content}.vc-tos-modal{font-size:13px;color:var(--ink2);line-height:1.75;display:grid;gap:12px}.vc-result-header{display:flex;align-items:center;gap:14px;padding:20px 44px;margin:-40px -44px 24px;border-bottom:1px solid transparent}.vc-valid{background:#f0faf0;border-bottom-color:#bbf7d0!important}.vc-vencido{background:#fffbeb;border-bottom-color:#fde68a!important}.vc-anulado{background:#fef2f2;border-bottom-color:#fca5a5!important}.vc-pendiente{background:#f8fafc;border-bottom-color:var(--line)!important}.vc-result-icon{width:44px;height:44px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center}.vc-valid .vc-result-icon{background:#dcfce7;color:#16a34a}.vc-vencido .vc-result-icon{background:#fef3c7;color:#d97706}.vc-anulado .vc-result-icon{background:#fee2e2;color:#dc2626}.vc-pendiente .vc-result-icon{background:#f1f5f9;color:#64748b}.vc-result-pill{display:inline-block;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;padding:3px 10px;border-radius:20px;margin-bottom:4px}.vc-valid .vc-result-pill{background:#dcfce7;color:#16a34a}.vc-vencido .vc-result-pill{background:#fef3c7;color:#d97706}.vc-anulado .vc-result-pill{background:#fee2e2;color:#dc2626}.vc-pendiente .vc-result-pill{background:#f1f5f9;color:#64748b}.vc-result-title{font-size:15px;font-weight:700;color:var(--ink);margin:0;line-height:1.3}.vc-result-meta{display:grid;gap:13px;margin-bottom:18px;padding-bottom:18px;border-bottom:1px solid var(--line)}.vc-result-row{display:grid;grid-template-columns:80px 1fr;gap:8px;align-items:baseline}.vc-result-row>span{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);padding-top:2px}.vc-result-row>strong{font-size:13px;font-weight:600;color:var(--ink);line-height:1.4}.vc-none{color:var(--muted)!important;font-weight:400!important}.vc-annul{margin-bottom:16px;padding:10px 12px;background:#fef2f2;border:1px solid #fca5a5;border-radius:7px;font-size:12px;color:#991b1b;line-height:1.5}.vc-retry{width:100%;padding:10px;background:#f1f5f9;color:var(--ink2);border:none;border-radius:8px;font-family:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s}.vc-retry:hover{background:#e2e8f0}@media(max-width:480px){.vc-result-header{padding:16px 20px;margin:-28px -20px 20px}.vc-result-row{grid-template-columns:72px 1fr}}@media(max-width:360px){.vc-result-header{margin:-24px -16px 18px;padding:14px 16px}}.vc-section{padding-bottom:16px;margin-bottom:16px;border-bottom:1px solid var(--line)}.vc-section:last-of-type{border-bottom:none;margin-bottom:0}.vc-section-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin-bottom:6px}.vc-person-name{font-size:15px;font-weight:700;color:var(--ink);line-height:1.3}.vc-person-sub{font-size:13px;color:var(--muted);margin-top:2px;line-height:1.4}.vc-cert-fields{display:grid;gap:10px}.vc-cert-row{display:grid;grid-template-columns:80px 1fr;gap:8px;align-items:baseline}.vc-cert-row>span{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);padding-top:2px}.vc-cert-row>strong{font-size:13px;font-weight:500;color:var(--ink);line-height:1.5}.vc-cert-block{grid-template-columns:1fr;gap:3px}.vc-cert-block>strong{font-size:13px}.vc-actions-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}.vc-btn-pdf,.vc-btn-wa{display:flex;align-items:center;justify-content:center;gap:7px;padding:11px 12px;border-radius:8px;font-family:inherit;font-size:14px;font-weight:700;text-decoration:none;cursor:pointer;border:none;transition:background .15s,transform .1s}.vc-btn-pdf{background:var(--primary);color:#fff}.vc-btn-pdf:hover{background:var(--primary-strong);transform:translateY(-1px)}.vc-btn-wa{background:#25d366;color:#fff}.vc-btn-wa:hover{background:#1ebe5d;transform:translateY(-1px)}.team-header{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:20px 24px;margin-bottom:24px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}.team-header-identity{display:flex;align-items:center;gap:16px}.team-logo{width:56px;height:56px;border-radius:10px;object-fit:cover}.team-logo-placeholder{width:56px;height:56px;border-radius:10px;background:var(--primary-light, #e8f4fd);display:flex;align-items:center;justify-content:center;color:var(--primary)}.team-logo-placeholder .app-icon{width:28px;height:28px}.team-name{font-size:20px;font-weight:700;margin:0 0 6px;color:var(--text-strong)}.seat-bar-wrap{display:flex;flex-direction:column;gap:6px;min-width:180px}.seat-bar{height:8px;background:var(--border);border-radius:4px;overflow:hidden}.seat-bar-fill{height:100%;border-radius:4px;background:var(--primary);transition:width .3s}.seat-bar-fill.warn{background:#d97706}.seat-bar-fill.full{background:#dc2626}.seat-bar-label{font-size:13px;color:var(--text-muted)}.vc-disclaimer{margin-bottom:16px;padding:10px 12px;background:#f8fafc;border:1px solid var(--line);border-radius:7px;font-size:12px;color:var(--ink2);line-height:1.5}.team-billing-note{display:flex;flex-direction:column;align-items:flex-end;gap:4px;min-width:220px;color:var(--text-muted);font-size:13px}.team-billing-note strong{color:var(--text-strong);font-size:14px}.team-billing-note small{color:var(--text-muted);font-size:12px;text-align:right}.team-billing-note.warning{background:#fff7ed;border:1px solid #fed7aa;border-radius:8px;padding:10px 12px;color:#9a3412}.team-billing-note.warning strong,.team-billing-note.warning small{color:#9a3412}.team-billing-action{margin-top:4px;padding:7px 10px;min-height:32px;border-radius:6px;font-size:12px}.billing-confirm-box{display:flex;flex-direction:column;gap:4px;background:#eef8ff;border:1px solid #bae6fd;border-radius:8px;padding:10px 12px;color:#075985;font-size:13px}.billing-confirm-box strong{color:#0c4a6e}.billing-confirm-box small{color:#0369a1}.checkbox-line{display:flex;flex-direction:row;align-items:flex-start;gap:8px;font-size:13px;color:var(--text-muted)}.checkbox-line input{width:auto;margin-top:3px}.team-section{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:20px 24px;margin-bottom:20px}.team-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;gap:12px;flex-wrap:wrap}.team-section-header h2{font-size:15px;font-weight:700;margin:0;color:var(--text-strong)}.team-member-list{display:flex;flex-direction:column;gap:10px}.team-member-card{display:flex;align-items:center;gap:14px;padding:12px 14px;background:var(--bg);border:1px solid var(--border);border-radius:10px}.team-member-avatar{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;color:#fff;flex-shrink:0;overflow:hidden}.team-member-avatar img{width:100%;height:100%;object-fit:cover}.pending-avatar{background:var(--border);color:var(--text-muted)}.team-member-info{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.team-member-info strong{font-size:14px;font-weight:600;color:var(--text-strong);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.team-member-info span{font-size:13px;color:var(--text-muted)}.team-member-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.icon-btn{padding:6px;border-radius:6px;background:transparent;border:1px solid var(--border);color:var(--text-muted);cursor:pointer;display:flex;align-items:center;transition:background .15s,color .15s}.icon-btn:hover{background:var(--border);color:var(--text-strong)}.icon-btn.danger:hover{background:#fee2e2;color:#dc2626;border-color:#fca5a5}.icon-btn.ok:hover{background:#dcfce7;color:#166534;border-color:#86efac}.icon-btn .app-icon{width:16px;height:16px}.team-inv-actions{display:flex;gap:6px;align-items:center}.badge-blue{background:#dbeafe;color:#1d4ed8}.badge-ok{background:#dcfce7;color:#166534}.badge-warn{background:#fef9c3;color:#854d0e}.badge-muted{background:var(--border);color:var(--text-muted)}.public-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:linear-gradient(150deg,#f0fdf4,#f5f7f9,#eef2f7)}.public-card{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 4px 6px #1018280a,0 12px 40px #10182814;padding:36px 40px 32px;width:100%}.public-card .brand-logo{display:block;height:32px;margin:0 auto 24px}.public-card h1{font-size:22px;font-weight:700;margin:0 0 12px}.public-card .error-text{color:var(--danger);font-size:13px}@media(max-width:520px){.public-card{padding:24px 18px 20px}}.empty-state-card{padding:16px;background:var(--bg);border:1px dashed var(--border);border-radius:8px;color:var(--text-muted);font-size:14px}@media(max-width:600px){.team-header{flex-direction:column;align-items:flex-start}.seat-bar-wrap{width:100%}.team-member-card{flex-wrap:wrap}}.team-agenda-chips{display:flex;gap:8px;flex-wrap:nowrap;overflow-x:auto;padding:0 0 12px;scrollbar-width:thin}.team-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:20px;border:1.5px solid var(--border);background:var(--surface);color:var(--text-muted);font-size:13px;font-weight:500;cursor:pointer;white-space:nowrap;transition:border-color .15s,color .15s,background .15s}.team-chip:hover{border-color:var(--primary);color:var(--primary)}.team-chip.active{border-color:var(--chip-color, var(--primary));background:color-mix(in srgb,var(--chip-color, var(--primary)) 12%,transparent);color:var(--chip-color, var(--primary))}.chip-dot{width:8px;height:8px;border-radius:50%;background:var(--chip-color, var(--primary));flex-shrink:0}.visibility-cards{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:8px}.visibility-card{display:flex;flex-direction:column;align-items:center;gap:6px;padding:16px 12px;border:2px solid var(--border);border-radius:10px;background:var(--bg);cursor:pointer;transition:border-color .15s,background .15s;color:var(--text-muted);text-align:center}.visibility-card .app-icon{width:24px;height:24px}.visibility-card strong{font-size:14px;font-weight:600;color:var(--text-strong)}.visibility-card small{font-size:12px}.visibility-card:hover{border-color:var(--primary)}.visibility-card.selected{border-color:var(--primary);background:var(--primary-light, #e8f4fd);color:var(--primary)}.visibility-card.selected strong{color:var(--primary)}.warn-note{color:#b45309;background:#fef9c3;border:1px solid #fde68a;border-radius:6px;padding:8px 12px;font-size:13px;margin-top:8px}.theme-equipo{--primary: #0ea5e9;--primary-strong: #0284c7;--primary-light: #e0f2fe}.theme-equipo button.active-icon{background:#0ea5e91f}.theme-equipo .auth-submit:hover:not(:disabled){box-shadow:0 4px 14px #0ea5e94d}.theme-equipo .primary-action{background:linear-gradient(180deg,#38bdf8,var(--primary));box-shadow:0 12px 22px #0ea5e938}.theme-equipo input:focus,.theme-equipo select:focus,.theme-equipo textarea:focus{border-color:#7dd3fc;box-shadow:0 0 0 3px #0ea5e91f}.theme-equipo .nav button.active{background:#e0f2fe;color:var(--primary)}.theme-equipo .nav button.active .nav-icon{background:#bae6fd;color:var(--primary)}.theme-equipo .mobile-nav button.active .nav-icon{background:#0ea5e91f}.theme-equipo .mobile-nav .mobile-create-button{box-shadow:0 4px 18px #0ea5e970,0 1px 4px #0ea5e92e}.theme-equipo .mobile-nav .mobile-create-button:hover{box-shadow:0 6px 22px #0ea5e985,0 2px 6px #0ea5e938}.theme-equipo .mobile-nav .mobile-create-button:active{box-shadow:0 3px 10px #0ea5e959}.theme-equipo .calendar-cell-head span{background:#0ea5e91f}.theme-equipo .mini-days button.selected{box-shadow:0 6px 14px #0ea5e93d}.theme-equipo .kpi-green .kpi-icon-wrap,.theme-equipo .kpi-next .kpi-icon-wrap,.theme-equipo .card-action-link:hover{background:#e0f2fe;color:var(--primary)}.theme-equipo .choice-card:hover{border-color:#0ea5e957;background:#f0f9ff}.theme-equipo .mini-chart span{background:linear-gradient(180deg,#38bdf8,#bae6fd)}.theme-equipo .chart-area{fill:#0ea5e91a}.theme-equipo .badge-ok,.theme-equipo .badge-ok-subtle{background:#e0f2fe;color:#0369a1;border-color:#bae6fd}.theme-equipo .team-chip.active{border-color:var(--chip-color, var(--primary));background:color-mix(in srgb,var(--chip-color, var(--primary)) 12%,transparent);color:var(--chip-color, var(--primary))}.theme-equipo .visibility-card.selected,.theme-equipo .plan-tab.active{border-color:var(--primary);background:var(--primary-light);color:var(--primary)}.theme-equipo .icon-btn:not(.danger):hover{background:#0ea5e91f;color:var(--primary)}.theme-equipo a{color:var(--primary)}.tipo-alta-selector{display:flex;gap:8px;margin-bottom:4px}.tipo-alta-btn{flex:1;background:#e9eef4;color:var(--ink);border:2px solid transparent;font-weight:500;transition:border-color .15s,background .15s,color .15s}.tipo-alta-btn:hover{background:#dfe7f0}.tipo-alta-btn.active{background:#e0f2fe;border-color:#0ea5e9;color:#0284c7}.plan-filter-tabs{display:flex;gap:6px;padding:12px 0 6px;border-bottom:1px solid var(--line);margin-bottom:4px}.plan-tab{background:transparent;color:var(--muted);border:1.5px solid var(--line);border-radius:20px;padding:5px 14px;font-size:13px;font-weight:500;min-height:0;transition:border-color .15s,color .15s,background .15s}.plan-tab:hover,.plan-tab.active{border-color:#0ea5e9;color:#0284c7;background:#e0f2fe}.badge-equipo{background:#e0f2fe;color:#0369a1;border:1px solid #bae6fd}tr.row-equipo td:first-child{font-weight:500}tr.row-equipo{background:#f0f9ff}tr.row-equipo:hover{background:#e0f2fe}.equipo-members-block{border:1px solid var(--line);border-radius:8px;padding:14px 16px;background:var(--bg)}.equipo-members-list{display:flex;flex-direction:column;gap:6px}.equipo-member-row{display:flex;align-items:center;gap:10px;padding:8px 10px;background:var(--surface);border:1px solid var(--line);border-radius:7px}.equipo-member-info{flex:1;display:flex;flex-direction:column;gap:1px;min-width:0}.equipo-member-info strong{font-size:14px}.equipo-member-info span{font-size:12px}.equipo-member-badges,.equipo-member-actions{display:flex;gap:5px;flex-shrink:0}.equipo-member-actions .compact-button{font-size:12px;padding:4px 10px;min-height:0}.badge-ok-subtle{background:#f0fdf4;color:#166534;border:1px solid #bbf7d0}.equipo-cert-toggle{display:flex;flex-direction:column;align-items:center;gap:2px;flex-shrink:0;cursor:pointer;font-size:11px;color:var(--muted);-webkit-user-select:none;user-select:none}.equipo-cert-toggle input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:var(--primary)}.agenda-layout-columns{display:block}.agenda-layout-columns .agenda-side{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin-top:20px}.agenda-layout-columns .agenda-side>section{margin:0}.agenda-columns{display:grid;grid-template-columns:repeat(var(--col-count, 3),minmax(0,1fr));gap:0;border:1px solid var(--line);border-radius:8px;overflow:hidden}.agenda-col{display:flex;flex-direction:column;border-right:1px solid var(--line);min-height:320px}.agenda-col:last-child{border-right:none}.agenda-col-header{display:flex;align-items:center;gap:10px;padding:12px 14px;background:color-mix(in srgb,var(--col-color, #5ba4d4) 8%,white);border-bottom:2px solid var(--col-color, #5ba4d4)}.agenda-col-avatar{width:34px;height:34px;border-radius:50%;background:var(--col-color, #5ba4d4);color:#fff;display:grid;place-items:center;font-size:12px;font-weight:700;flex-shrink:0}.agenda-col-header-info{display:flex;flex-direction:column;gap:1px;min-width:0}.agenda-col-header-info strong{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.agenda-col-header-info span{font-size:11px;color:var(--muted)}.agenda-col-body{flex:1;display:flex;flex-direction:column;gap:6px;padding:10px;background:#fff}.agenda-col-empty{margin:auto;text-align:center;color:var(--muted);font-size:13px;padding:24px 0}.agenda-col-add{width:100%;border-radius:0;background:transparent;color:var(--muted);font-size:12px;font-weight:500;padding:8px;border-top:1px dashed var(--line);transition:background .14s,color .14s;min-height:0}.agenda-col-add:hover{background:var(--bg);color:var(--primary)}.col-card{display:flex;flex-direction:column;gap:3px;padding:9px 10px;border-radius:7px;border-left:3px solid var(--card-color, #5ba4d4);background:var(--bg);cursor:pointer;transition:background .13s,box-shadow .13s}.col-card:hover{background:#f0f4f8;box-shadow:0 2px 8px #10182814}.col-card-time{font-size:12px;font-weight:700;color:var(--muted);letter-spacing:.02em}.col-card-name{font-size:13px;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.col-card-type{font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.col-card-badge{font-size:10px;padding:2px 6px;align-self:flex-start}.team-chip.vista-toggle{margin-left:auto;border-color:var(--line);display:flex;align-items:center;gap:5px}.team-chip.vista-toggle .app-icon{width:14px;height:14px}@media(max-width:900px){.agenda-columns{grid-template-columns:1fr}.agenda-col{border-right:none;border-bottom:1px solid var(--line)}.agenda-col:last-child{border-bottom:none}}.migration-info-block{display:flex;flex-direction:column;gap:6px;padding:12px 14px;background:var(--bg);border:1px solid var(--line);border-radius:8px;font-size:13px}.migration-info-block span{display:flex;align-items:flex-start;gap:6px}.team-member-avatar-wrap{position:relative;flex-shrink:0}.color-picker-wrap{position:absolute;bottom:-4px;right:-4px}.color-swatch-btn{width:16px;height:16px;border-radius:50%;border:2px solid #fff;box-shadow:0 1px 3px #0003;cursor:pointer;padding:0;min-height:0;display:block;transition:transform .15s}.color-swatch-btn:hover{transform:scale(1.2)}.color-picker-popover{position:absolute;bottom:22px;left:50%;transform:translate(-50%);background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 24px #10182824;padding:10px;display:grid;grid-template-columns:repeat(8,20px);gap:6px;z-index:200;width:max-content}.color-option{width:20px;height:20px;border-radius:50%;border:2px solid transparent;cursor:pointer;padding:0;min-height:0;transition:transform .12s,border-color .12s}.color-option:hover{transform:scale(1.25)}.color-option.selected{border-color:var(--ink);transform:scale(1.15)}.agenda-week-cols{display:flex;flex-direction:column;gap:16px;padding:4px 0}.agenda-week-prof-row{background:var(--surface);border:1px solid var(--border);border-radius:10px;overflow:hidden}.agenda-week-prof-label{display:flex;align-items:center;gap:10px;padding:10px 14px;background:linear-gradient(90deg,color-mix(in srgb,var(--col-color, #5ba4d4) 12%,transparent),transparent);border-bottom:1px solid var(--border);font-size:13px;font-weight:700;color:var(--text-strong)}.agenda-week-prof-label .agenda-col-avatar{background:var(--col-color, #5ba4d4);width:28px;height:28px;font-size:11px}.agenda-week-days{display:grid;grid-template-columns:repeat(7,1fr)}.agenda-week-day-cell{padding:8px 6px;border-right:1px solid var(--border);min-height:80px;cursor:pointer;transition:background .15s}.agenda-week-day-cell:last-child{border-right:none}.agenda-week-day-cell:hover{background:var(--bg)}.agenda-week-day-cell.today{background:var(--primary-light, #e8f9e2)}.theme-equipo .agenda-week-day-cell.today{background:var(--sky-light, #e0f2fe)}.agenda-week-day-head{display:flex;align-items:center;gap:4px;margin-bottom:6px}.agenda-week-day-label{font-size:10px;font-weight:700;color:var(--text-muted);text-transform:uppercase}.agenda-week-day-num{font-size:13px;font-weight:800;color:var(--text-strong);line-height:1}.agenda-week-day-count{margin-left:auto;background:var(--primary);color:#fff;font-size:9px;font-weight:800;width:16px;height:16px;border-radius:50%;display:flex;align-items:center;justify-content:center}.theme-equipo .agenda-week-day-count{background:var(--sky, #0ea5e9)}.agenda-week-day-items{display:flex;flex-direction:column;gap:3px}.agenda-week-mini-card{border-left:2px solid;border-radius:3px;padding:2px 5px;background:var(--bg);cursor:pointer;transition:background .12s}.agenda-week-mini-card:hover{background:var(--line)}.agenda-week-mini-time{display:block;font-size:9px;color:var(--text-muted);font-weight:600}.agenda-week-mini-name{display:block;font-size:10px;font-weight:700;color:var(--text-strong);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.agenda-week-more{font-size:10px;color:var(--primary);font-weight:600;padding:1px 4px;cursor:pointer}.theme-equipo .agenda-week-more{color:var(--sky, #0ea5e9)}@media(max-width:640px){.agenda-week-days{grid-template-columns:repeat(4,1fr)}.agenda-week-day-cell:nth-child(n+5){display:none}}.comm-layout{display:grid;grid-template-columns:300px 1fr;gap:0;height:calc(100vh - 120px);background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #1018280d}.comm-sidebar{display:flex;flex-direction:column;border-right:1px solid var(--border);background:var(--bg);overflow:hidden}.comm-sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 10px;border-bottom:1px solid var(--border);gap:8px;flex-shrink:0}.comm-sidebar-title{display:flex;align-items:center;gap:8px;overflow:hidden}.comm-sidebar-title .app-icon{width:18px;height:18px;color:var(--primary)}.comm-sidebar-title h2{font-size:15px;font-weight:700;margin:0;white-space:nowrap}.comm-new-btn{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:700;padding:6px 12px;border-radius:6px;background:var(--primary);color:#fff;min-height:0;white-space:nowrap;flex-shrink:0}.comm-new-btn .app-icon{width:13px;height:13px}.comm-new-btn:hover{background:var(--primary-dark, #1f7d0e)}.comm-search-wrap{display:flex;align-items:center;gap:8px;padding:10px 14px;border-bottom:1px solid var(--border);flex-shrink:0}.comm-search-wrap .app-icon{width:15px;height:15px;color:var(--muted);flex-shrink:0}.comm-search{flex:1;border:none;background:transparent;font-size:13px;color:var(--text-strong);outline:none;padding:0;min-height:0}.comm-search::placeholder{color:var(--text-muted)}.comm-list{flex:1;overflow-y:auto}.comm-item{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-bottom:1px solid var(--border);cursor:pointer;text-align:left;background:transparent;color:inherit;width:100%;border-radius:0;min-height:0;transition:background .12s}.comm-item:hover{background:#00000008}.comm-item.active{background:var(--primary-light, #e8f9e2);border-left:3px solid var(--primary)}.theme-equipo .comm-item.active{background:var(--sky-light, #e0f2fe);border-left-color:var(--sky, #0ea5e9)}.comm-item-avatar{width:34px;height:34px;border-radius:50%;background:var(--primary);color:#fff;font-size:13px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0}.theme-equipo .comm-item-avatar{background:var(--sky, #0ea5e9)}.comm-item-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.comm-item-row{display:flex;align-items:center;justify-content:space-between;gap:6px}.comm-item-author{font-size:12px;font-weight:700;color:var(--text-strong)}.comm-item-time{font-size:11px;color:var(--text-muted);flex-shrink:0}.comm-item-title{font-size:13px;font-weight:600;color:var(--text-strong);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.comm-item-preview{font-size:12px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.comm-empty-list{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;gap:10px;color:var(--text-muted);font-size:13px}.comm-empty-list .app-icon{width:32px;height:32px;opacity:.35}.comm-detail{display:flex;flex-direction:column;overflow:hidden;background:var(--surface)}.comm-detail-inner{padding:28px 32px;overflow-y:auto;flex:1}.comm-detail-header{display:flex;align-items:center;gap:12px;margin-bottom:18px}.comm-detail-avatar{width:42px;height:42px;border-radius:50%;background:var(--primary);color:#fff;font-size:16px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0}.theme-equipo .comm-detail-avatar{background:var(--sky, #0ea5e9)}.comm-detail-meta{display:flex;flex-direction:column;gap:2px}.comm-detail-author{font-size:14px;font-weight:700;color:var(--text-strong)}.comm-detail-date{font-size:12px;color:var(--text-muted)}.comm-detail-title{font-size:20px;font-weight:800;color:var(--text-strong);margin-bottom:10px;line-height:1.3}.comm-detail-recipients{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--text-muted);background:var(--bg);border:1px solid var(--border);border-radius:20px;padding:4px 12px;margin-bottom:20px}.comm-detail-recipients .app-icon{width:13px;height:13px}.comm-detail-body{font-size:15px;color:var(--text-strong);line-height:1.8;white-space:pre-wrap;padding:20px;background:var(--bg);border-radius:10px;border:1px solid var(--border)}.comm-detail-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:12px;color:var(--text-muted)}.comm-detail-placeholder .app-icon{width:48px;height:48px;opacity:.2}.comm-detail-placeholder h3{font-size:16px;font-weight:700;color:var(--text-muted)}.comm-detail-placeholder p{font-size:13px}@media(max-width:640px){.comm-layout{grid-template-columns:1fr;height:auto}.comm-sidebar{max-height:40vh}.comm-detail-inner{padding:16px}}.chat-wrap{display:flex;flex-direction:column;height:calc(100vh - 120px);background:var(--bg-card, #fff);border:1px solid var(--border);border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #1018280d}.chat-header{display:flex;align-items:center;gap:10px;padding:14px 20px;border-bottom:1px solid var(--border);flex-shrink:0;background:var(--bg-card, #fff)}.chat-header .app-icon{width:20px;height:20px;color:var(--primary)}.theme-equipo .chat-header .app-icon{color:var(--sky, #0ea5e9)}.chat-header h2{font-size:15px;font-weight:700;margin:0;flex:1}.chat-messages{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:12px;background:var(--bg, #f8fafc)}.chat-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;gap:10px;color:var(--text-muted);padding:40px;text-align:center;font-size:13px}.chat-empty .app-icon{width:40px;height:40px;opacity:.2}.chat-bubble-wrap{display:flex;align-items:flex-end;gap:8px;max-width:78%}.chat-bubble-wrap.own{align-self:flex-end;flex-direction:row-reverse}.chat-bubble-wrap.other{align-self:flex-start}.chat-avatar{width:30px;height:30px;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex-shrink:0}.theme-equipo .chat-avatar{background:var(--sky, #0ea5e9)}.chat-bubble{background:#fff;border:1px solid var(--border);border-radius:14px 14px 14px 4px;padding:9px 13px;display:flex;flex-direction:column;gap:3px;box-shadow:0 1px 3px #0000000f}.chat-bubble-wrap.own .chat-bubble{background:var(--primary);color:#fff;border-color:transparent;border-bottom-left-radius:14px;border-bottom-right-radius:4px}.theme-equipo .chat-bubble-wrap.own .chat-bubble{background:var(--sky, #0ea5e9)}.chat-bubble-author{font-size:11px;font-weight:700;color:var(--primary);margin-bottom:1px}.theme-equipo .chat-bubble-author{color:var(--sky, #0ea5e9)}.chat-bubble-text{font-size:13.5px;line-height:1.55;margin:0;white-space:pre-wrap;word-break:break-word}.chat-bubble-wrap.own .chat-bubble-text{color:#fff}.chat-bubble-time{font-size:10px;color:var(--text-muted);align-self:flex-end;margin-top:2px}.chat-bubble-wrap.own .chat-bubble-time{color:#ffffffb3}.chat-input-bar{display:flex;align-items:flex-end;gap:8px;padding:12px 16px;border-top:1px solid var(--border);background:var(--bg-card, #fff);flex-shrink:0}.chat-input{flex:1;border:1px solid var(--border);border-radius:20px;padding:9px 16px;font-size:13.5px;background:var(--bg, #f8fafc);outline:none;resize:none;line-height:1.5;max-height:120px;overflow-y:auto;font-family:inherit}.chat-input:focus{border-color:var(--primary);background:#fff}.theme-equipo .chat-input:focus{border-color:var(--sky, #0ea5e9)}.chat-send-btn{width:38px;height:38px;border-radius:50%;background:var(--primary);color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s,opacity .15s}.chat-send-btn:hover:not(:disabled){filter:brightness(1.1)}.chat-send-btn:disabled{opacity:.45;cursor:not-allowed}.chat-send-btn .app-icon{width:15px;height:15px}.theme-equipo .chat-send-btn{background:var(--sky, #0ea5e9)}@media(max-width:640px){.chat-wrap{height:calc(100vh - 80px);border-radius:0;border-left:none;border-right:none}.chat-messages{padding:12px}.chat-bubble-wrap{max-width:92%}}.comm-widget-card{display:flex;flex-direction:column}.comm-widget-messages{display:flex;flex-direction:column;gap:8px;max-height:220px;overflow-y:auto;padding:2px 2px 6px;margin-bottom:2px;scroll-behavior:smooth}.comm-widget-messages::-webkit-scrollbar{width:4px}.comm-widget-messages::-webkit-scrollbar-thumb{background:#e2e8f0;border-radius:4px}.comm-widget-status{font-size:13px;color:#94a3b8;text-align:center;padding:16px 0;margin:0}.comm-widget-bubble{display:flex;align-items:flex-end;gap:7px}.comm-widget-bubble.own{flex-direction:row-reverse}.comm-widget-avatar{width:26px;height:26px;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;flex-shrink:0}.theme-equipo .comm-widget-avatar{background:var(--sky, #0ea5e9)}.comm-widget-text{background:#f1f5f9;border-radius:12px 12px 12px 3px;padding:6px 10px;max-width:78%;display:flex;flex-direction:column;gap:2px}.comm-widget-bubble.own .comm-widget-text{background:#16a34a;border-radius:12px 12px 3px}.theme-equipo .comm-widget-bubble.own .comm-widget-text{background:var(--sky, #0ea5e9)}.comm-widget-author{font-size:10px;font-weight:700;color:#16a34a}.theme-equipo .comm-widget-author{color:var(--sky, #0ea5e9)}.comm-widget-msg{font-size:12px;color:#1e293b;word-break:break-word;white-space:pre-wrap}.comm-widget-bubble.own .comm-widget-msg{color:#fff}.comm-widget-time{font-size:10px;color:#94a3b8;margin-top:1px;line-height:1}.comm-widget-bubble.own .comm-widget-time{color:#ffffffb3;text-align:right}.comm-widget-form{display:flex;gap:8px;align-items:center;border-top:1px solid #e2e8f0;padding-top:10px;margin-top:4px}.comm-widget-input{flex:1;min-width:0;border:1px solid #e2e8f0;border-radius:20px;padding:8px 14px;font-size:13px;color:#1e293b;background:#f8fafc;outline:none;transition:border-color .15s,background .15s;font-family:inherit}.comm-widget-input:focus{border-color:#16a34a;background:#fff}.comm-widget-input::placeholder{color:#94a3b8}.comm-widget-send{all:unset;cursor:pointer;width:34px;height:34px;border-radius:50%;background:#16a34a;color:#fff;display:flex;align-items:center;justify-content:center;transition:background .15s,transform .1s;flex-shrink:0}.comm-widget-send:hover:not(:disabled){background:#15803d;transform:scale(1.05)}.comm-widget-send:disabled{background:#d1d5db;cursor:not-allowed}.comm-widget-send svg{width:15px;height:15px}.comm-widget-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:20px 16px;color:var(--text-muted);font-size:13px;text-align:center}.comm-widget-empty .app-icon{opacity:.22;width:32px;height:32px}.collab-panel{border:1px solid var(--border);border-radius:10px;overflow:hidden;margin-top:8px}.collab-panel-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--bg, #f8fafc);border-bottom:1px solid var(--border);gap:10px}.collab-panel-title{display:flex;align-items:center;gap:8px}.collab-panel-title .app-icon{width:16px;height:16px;color:var(--primary)}.collab-panel-title h3{font-size:14px;font-weight:700;margin:0}.collab-panel-actions{display:flex;gap:6px;align-items:center}.collab-panel-actions button.small{font-size:12px;padding:4px 10px;border-radius:6px}.collab-members-strip{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:10px 16px;background:#00000005;border-bottom:1px solid var(--border);font-size:12px}.collab-strip-label{color:var(--text-muted);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.collab-chip{display:inline-flex;align-items:center;gap:4px;background:var(--primary-light, #e8f9e2);color:var(--primary);border-radius:20px;padding:3px 10px;font-size:12px;font-weight:600}.theme-equipo .collab-chip{background:var(--sky-light, #e0f2fe);color:var(--sky, #0ea5e9)}.collab-chip-remove{background:none;border:none;cursor:pointer;font-size:14px;line-height:1;color:inherit;opacity:.6;padding:0 0 0 2px}.collab-chip-remove:hover{opacity:1}.collab-add-form{display:flex;gap:6px;align-items:center}.collab-add-form select{font-size:12px;padding:4px 8px;border-radius:6px;border:1px solid var(--border)}.collab-empty{padding:20px 16px;font-size:13px;color:var(--text-muted);text-align:center}.collab-sections-list{display:flex;flex-direction:column;gap:0}.collab-section-card{padding:14px 16px;border-bottom:1px solid var(--border);position:relative}.collab-section-card:last-child{border-bottom:none}.collab-section-meta{font-size:11px;color:var(--text-muted);margin-bottom:4px}.collab-section-author{font-weight:700;color:var(--primary)}.theme-equipo .collab-section-author{color:var(--sky, #0ea5e9)}.collab-section-title{font-size:14px;font-weight:700;margin:0 0 6px;color:var(--text-strong)}.collab-section-body{font-size:13px;color:var(--text);white-space:pre-wrap;word-break:break-word;margin:0;line-height:1.55;padding-right:56px}.collab-section-btns{position:absolute;top:12px;right:12px;display:flex;gap:4px}.collab-section-edit{padding:14px 16px;display:flex;flex-direction:column;gap:8px;border-bottom:1px solid var(--border);background:var(--bg, #f8fafc)}.collab-section-edit input,.collab-section-edit textarea{border:1px solid var(--border);border-radius:6px;padding:8px 10px;font-size:13px;font-family:inherit;background:#fff;resize:vertical}.collab-add-section{padding:14px 16px;display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--border);background:var(--bg, #f8fafc)}.collab-add-section input,.collab-add-section textarea{border:1px solid var(--border);border-radius:6px;padding:8px 10px;font-size:13px;font-family:inherit;background:#fff;resize:vertical}.collab-add-section input:focus,.collab-add-section textarea:focus,.collab-section-edit input:focus,.collab-section-edit textarea:focus{outline:none;border-color:var(--primary)}.theme-equipo .collab-add-section input:focus,.theme-equipo .collab-add-section textarea:focus,.theme-equipo .collab-section-edit input:focus,.theme-equipo .collab-section-edit textarea:focus{border-color:var(--sky, #0ea5e9)}@media(max-width:640px){.collab-section-body{padding-right:0}.collab-section-btns{position:static;margin-top:8px}}.doc-type-selector{padding:4px 0 8px}.doc-type-cards{display:flex;gap:12px;margin-bottom:14px}.doc-type-card{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;padding:16px 12px;border:2px solid var(--border);border-radius:12px;background:var(--card, #fff);cursor:pointer;transition:border-color .15s,box-shadow .15s;position:relative;font-size:13px;font-weight:600;color:var(--text)}.doc-type-card:hover{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light, #e8f9e2)}.doc-type-card.dtc-selected{border-color:var(--primary);background:var(--primary-light, #e8f9e2);color:var(--primary)}.theme-equipo .doc-type-card:hover,.theme-equipo .doc-type-card.dtc-selected{border-color:var(--sky, #0ea5e9);box-shadow:0 0 0 3px var(--sky-light, #e0f2fe)}.theme-equipo .doc-type-card.dtc-selected{background:var(--sky-light, #e0f2fe);color:var(--sky, #0ea5e9)}.dtc-icon{font-size:22px;line-height:1}.dtc-label{font-size:13px;font-weight:700}.dtc-check{position:absolute;top:8px;right:10px;font-size:12px;font-weight:900;color:var(--primary)}.theme-equipo .dtc-check{color:var(--sky, #0ea5e9)}.dtc-member-list{border:1px solid var(--border);border-radius:10px;overflow:hidden}.dtc-select-all{display:flex;align-items:center;padding:8px 14px;background:var(--bg, #f8fafc);border-bottom:1px solid var(--border);font-size:12px;font-weight:600;gap:8px}.dtc-select-all label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:12px;font-weight:600;color:var(--text-muted);margin:0}.dtc-member-row{display:flex;align-items:center;gap:10px;padding:9px 14px;border-bottom:1px solid var(--border);background:#fff;transition:background .1s}.dtc-member-row:last-child{border-bottom:none}.dtc-member-row:not(.dtc-member-owner):hover{background:var(--bg, #f8fafc)}.dtc-member-owner{opacity:.75}.dtc-avatar{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:800;color:#fff;flex-shrink:0;letter-spacing:0}.dtc-member-info{flex:1;display:flex;flex-direction:column;gap:1px;min-width:0}.dtc-member-name{font-size:13px;font-weight:600;color:var(--text-strong);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dtc-member-name em{font-style:normal;font-weight:400;color:var(--text-muted);font-size:12px}.dtc-member-prof{font-size:11px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dtc-member-row input[type=checkbox]{width:16px;height:16px;accent-color:var(--primary);flex-shrink:0;cursor:pointer}.dtc-member-row input[type=checkbox]:disabled{cursor:default;opacity:.5}.dtc-empty{padding:16px 14px;font-size:13px;color:var(--text-muted);text-align:center;margin:0}@media(max-width:480px){.doc-type-cards{gap:8px}.doc-type-card{padding:12px 8px}}.analytics-v2{display:flex;flex-direction:column;gap:18px;padding:4px 0}.analytics-v2-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:4px 0}.analytics-v2-hero .eyebrow{text-transform:uppercase;font-size:11px;letter-spacing:.5px;color:var(--text-muted, #64748b);margin:0 0 4px;font-weight:600}.analytics-v2-title{font-size:28px;line-height:1.1;margin:0;font-weight:700;color:#0f172a}.analytics-v2-range{margin:6px 0 0;font-size:13px;color:#64748b}.analytics-v2-filter{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border-radius:10px;background:#fff;border:1px solid #e2e8f0;color:#334155;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s}.analytics-v2-filter:hover{border-color:#16a34a;color:#16a34a}.analytics-v2-filter.has-active{background:#dcfce7;border-color:#16a34a;color:#14532d}.analytics-v2-filter em{font-style:normal;background:#16a34a;color:#fff;font-size:11px;font-weight:700;border-radius:999px;padding:1px 6px}.analytics-v2-kpis-hero{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}@media(max-width:720px){.analytics-v2-kpis-hero{grid-template-columns:repeat(2,1fr);gap:10px}}.kpi-v2{display:flex;align-items:center;gap:14px;padding:16px 18px;border-radius:10px;background:#fff;border:1px solid #eef0f3;transition:background .15s}.kpi-v2-accent{background:#fff}.kpi-v2-icon{width:40px;height:40px;border-radius:8px;background:#f1f5f9;color:#16a34a;display:flex;align-items:center;justify-content:center;flex-shrink:0}.kpi-v2-icon svg{width:18px;height:18px}.kpi-v2-content{display:flex;flex-direction:column;gap:2px;min-width:0;min-height:48px;justify-content:center}.kpi-v2-label{font-size:11px;color:#94a3b8;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.kpi-v2-value{font-size:24px;font-weight:800;color:#0f172a;line-height:1;letter-spacing:-.03em}.kpi-v2-trend{font-size:11px;font-weight:600;margin-top:2px}.kpi-v2-trend.up{color:#16a34a}.kpi-v2-trend.down{color:#dc2626}.analytics-v2-kpis-secondary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}@media(max-width:720px){.analytics-v2-kpis-secondary{grid-template-columns:repeat(2,1fr)}}.analytics-v2-kpis-secondary .kpi-v2{padding:12px 14px;border-radius:12px}.analytics-v2-kpis-secondary .kpi-v2-icon{flex:0 0 36px;height:36px;border-radius:9px}.analytics-v2-kpis-secondary .kpi-v2-icon svg{width:18px;height:18px}.analytics-v2-kpis-secondary .kpi-v2-value{font-size:18px}.analytics-v2-panel{border-radius:14px;padding:18px 20px;background:#fff;border:1px solid #e2e8f0}.analytics-v2-panel h2,.analytics-v2-panel .panel-title h2{font-size:16px;font-weight:700;color:#0f172a;margin:0 0 4px}.analytics-v2-panel-sub{font-size:12px;color:#64748b;margin:0 0 14px}.analytics-v2-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}@media(max-width:720px){.analytics-v2-grid{grid-template-columns:1fr;gap:10px}}.chart-wrap{width:100%;max-width:640px;margin:0 auto;position:relative}.chart-svg{display:block;width:100%;height:auto;overflow:visible}.chart-grid{stroke:#eef2f7;stroke-width:1;stroke-dasharray:none}.chart-axis-text{font-size:10px;fill:#94a3b8;font-family:inherit}.chart-axis-x{font-size:10px}.chart-bar{transition:opacity .15s;cursor:pointer}.chart-bar:hover{opacity:.78}.chart-bar-value{font-size:10px;fill:#475569;font-weight:600;font-family:inherit}.chart-legend{display:flex;gap:18px;justify-content:center;margin-top:8px;flex-wrap:wrap}.chart-legend span{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:#475569;font-weight:500}.chart-legend i{display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0}.chart-empty{text-align:center;color:#94a3b8;font-size:13px;padding:30px 0;margin:0}.hbar-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}.hbar-row{display:flex;flex-direction:column;gap:6px}.hbar-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px}.hbar-label{font-size:13px;color:#334155;font-weight:500;text-transform:capitalize}.hbar-value{display:inline-flex;align-items:baseline;gap:6px}.hbar-value strong{font-size:14px;color:#0f172a;font-weight:700}.hbar-value small{font-size:11px;color:#94a3b8;font-weight:500}.hbar-track{height:8px;background:#f1f5f9;border-radius:999px;overflow:hidden}.hbar-fill{display:block;height:100%;border-radius:999px;transition:width .4s ease-out}.badge-active,.badge-inactive{display:inline-block;padding:2px 8px;border-radius:999px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.badge-active{background:#dcfce7;color:#166534}.badge-inactive{background:#fee2e2;color:#991b1b}.dashboard-v2{display:flex;flex-direction:column;gap:12px}.dashboard-v2-hero{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;background:linear-gradient(135deg,#f0fdf4,#fff 80%);border:1px solid #bbf7d0;border-radius:14px;padding:14px 20px}.dashboard-v2-hero-text{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.dashboard-v2-hero-sub{margin:0;font-size:13px;color:#475569}.dashboard-v2-date-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.dashboard-v2-date{margin:0;font-size:14px;color:#16a34a;font-weight:600}.dashboard-v2-weather{font-size:13px;font-weight:500;color:#475569;background:#ffffffa6;border:1px solid #d1fae5;border-radius:20px;padding:2px 10px;white-space:nowrap}.dashboard-v2-next{display:flex;flex-direction:column;gap:3px;padding:10px 14px;border-radius:10px;background:#fff;border:1px solid #d1fae5;min-width:180px;max-width:280px;text-align:left;cursor:default}.dashboard-v2-next-active{cursor:pointer;transition:background .15s,border-color .15s,box-shadow .15s}.dashboard-v2-next-active:hover{background:#16a34a;border-color:#16a34a;box-shadow:0 4px 16px #16a34a40}.dashboard-v2-next-active:hover .dashboard-v2-next-label,.dashboard-v2-next-active:hover .dashboard-v2-next-name,.dashboard-v2-next-active:hover .dashboard-v2-next-when{color:#ffffffeb}.dashboard-v2-next-label{text-transform:uppercase;font-size:10px;color:#16a34a;font-weight:700;letter-spacing:.6px;margin:0}.dashboard-v2-next-name{font-size:16px;color:#0f172a;font-weight:700;margin:2px 0 0}.dashboard-v2-next-when{font-size:12px;color:#475569;margin-top:2px}.dashboard-v2-next-empty{font-size:13px;color:#64748b;margin:2px 0 6px}.dashboard-v2-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.dashboard-v2-kpis-4{grid-template-columns:repeat(4,1fr)}@media(max-width:720px){.dashboard-v2-kpis,.dashboard-v2-kpis-4{grid-template-columns:repeat(2,1fr)}}.dashboard-v2-kpi-btn{all:unset;cursor:pointer;display:block;background:#fff;border-radius:10px;overflow:hidden}.dashboard-v2-kpi-btn:focus-visible{outline:none}.dashboard-v2-kpi-btn .kpi-v2{width:100%;box-sizing:border-box;border-radius:0;border:none}.dashboard-v2-kpi-btn{border:1px solid #eef0f3}.dashboard-v2-kpi-btn:hover{background:#fff;border-color:#d1d9e0}.dashboard-v2-card{border-radius:14px;padding:16px 18px;background:#fff;border:1px solid #e2e8f0}.dashboard-v2-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.dashboard-v2-card-title{display:flex;align-items:center;gap:10px}.dashboard-v2-card-icon{width:32px;height:32px;border-radius:9px;background:#f0fdf4;color:#16a34a;display:flex;align-items:center;justify-content:center;flex-shrink:0}.dashboard-v2-card-icon svg{width:16px;height:16px}.dashboard-v2-card-header h3{margin:0;font-size:15px;font-weight:700;color:#0f172a}.dashboard-v2-card-sub{margin:2px 0 0;font-size:12px;color:#64748b}.dashboard-v2-card-link{all:unset;cursor:pointer;font-size:12px;font-weight:600;color:#16a34a;white-space:nowrap;padding:4px 8px;border-radius:6px;transition:background .15s}.dashboard-v2-card-link:hover{background:#f0fdf4}.dashboard-v2-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}@media(max-width:720px){.dashboard-v2-grid{grid-template-columns:1fr}}.dashboard-v2-grid-main{display:grid;grid-template-columns:2fr 1.5fr 1fr;gap:14px;align-items:start}.dashboard-v2-col-side{display:flex;flex-direction:column;gap:14px}.dashboard-v2-cell-agenda{grid-column:1;grid-row:1}.dashboard-v2-cell-informes{grid-column:2;grid-row:1}.dashboard-v2-col-side{grid-column:3;grid-row:1}.dashboard-v2-col-side-span{grid-column:3;grid-row:1 / 3}.dashboard-v2-comm-wrapper{grid-column:1 / 3;grid-row:2}@media(max-width:1000px){.dashboard-v2-grid-main{grid-template-columns:1fr 1fr}.dashboard-v2-cell-agenda{grid-column:1;grid-row:1}.dashboard-v2-cell-informes{grid-column:2;grid-row:1}.dashboard-v2-col-side,.dashboard-v2-col-side-span{grid-column:1 / -1;grid-row:2;flex-direction:row}.dashboard-v2-col-side>.dashboard-v2-card{flex:1;min-width:0}.dashboard-v2-comm-wrapper{grid-column:1 / -1;grid-row:3}}@media(max-width:620px){.dashboard-v2-grid-main{grid-template-columns:1fr}.dashboard-v2-cell-agenda{grid-column:1;grid-row:1}.dashboard-v2-cell-informes{grid-column:1;grid-row:2}.dashboard-v2-col-side,.dashboard-v2-col-side-span{grid-column:1;grid-row:3;flex-direction:column}.dashboard-v2-comm-wrapper{grid-column:1;grid-row:4}}.dashboard-v2-quick-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.dashboard-v2-quick-actions button{all:unset;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:12px 8px;border-radius:10px;background:#f8fafc;border:1px solid #e2e8f0;color:#334155;font-size:11px;font-weight:600;text-align:center;transition:all .15s;box-sizing:border-box;width:100%}.dashboard-v2-quick-actions button:hover{background:#f0fdf4;border-color:#16a34a;color:#14532d}.dashboard-v2-quick-actions button svg{width:18px;height:18px;color:#16a34a}@media(max-width:1000px){.dashboard-v2-quick-actions{grid-template-columns:repeat(3,1fr)}}@media(max-width:620px){.dashboard-v2-quick-actions{grid-template-columns:repeat(3,1fr)}}.dashboard-v2-empty{display:flex;flex-direction:row;align-items:center;gap:12px;padding:12px 10px;text-align:left}.dashboard-v2-empty-icon{width:36px;height:36px;border-radius:10px;background:#f1f5f9;color:#94a3b8;display:flex;align-items:center;justify-content:center}.dashboard-v2-empty-icon svg{width:18px;height:18px}.dashboard-v2-empty p{margin:0;font-size:13px;color:#64748b;flex:1}.dashboard-v2-empty button{background:#16a34a;color:#fff;border:none;border-radius:8px;padding:6px 12px;font-size:12px;font-weight:600;cursor:pointer;transition:background .15s;white-space:nowrap;flex-shrink:0}.dashboard-v2-empty button:hover{background:#15803d}.dashboard-v2-onboarding{background:linear-gradient(135deg,#f0fdf4,#fff);border:1px solid #bbf7d0;border-radius:14px;padding:20px}.dashboard-v2-onboarding .onboarding-header strong{display:block;font-size:16px;font-weight:700;color:#0f172a;margin-bottom:2px}.dashboard-v2-onboarding .onboarding-header p{font-size:13px;color:#64748b;margin:0 0 14px}.dashboard-v2-onboarding .onboarding-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}@media(max-width:720px){.dashboard-v2-onboarding .onboarding-steps{grid-template-columns:1fr}}.dashboard-v2-onboarding .onboarding-step{display:flex;align-items:center;gap:12px;padding:14px;border-radius:11px;background:#fff;border:1px solid #e2e8f0;cursor:pointer;text-align:left;transition:all .15s}.dashboard-v2-onboarding .onboarding-step:hover{border-color:#16a34a;transform:translateY(-1px);box-shadow:0 4px 12px #16a34a14}.dashboard-v2-onboarding .onboarding-step-num{width:28px;height:28px;border-radius:50%;background:#16a34a;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;flex-shrink:0}.dashboard-v2-onboarding .onboarding-step strong{font-size:13px;color:#0f172a}.dashboard-v2-onboarding .onboarding-step .message{font-size:11px;color:#64748b;margin:2px 0 0}.dashboard-v2-onboarding .onboarding-step svg{width:20px;height:20px;color:#94a3b8;margin-left:auto}.dashboard-v2-onboarding .onboarding-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.dashboard-v2-onboarding .onboarding-header-text strong{display:block;font-size:15px;font-weight:700;color:#0f172a;margin-bottom:2px}.dashboard-v2-onboarding .onboarding-header-text p{font-size:13px;color:#64748b;margin:0}.onboarding-dismiss{all:unset;cursor:pointer;font-size:14px;color:#94a3b8;line-height:1;padding:2px 4px;border-radius:4px;flex-shrink:0;transition:color .15s}.onboarding-dismiss:hover{color:#64748b}.onboarding-progress-bar{height:5px;background:#16a34a26;border-radius:99px;overflow:hidden;margin-bottom:6px}.onboarding-progress-fill{height:100%;background:#16a34a;border-radius:99px;transition:width .4s ease}.onboarding-progress-label{font-size:11px;color:#16a34a;font-weight:600;margin:0 0 14px}.dashboard-v2-onboarding .onboarding-step.done{background:#f0fdf4;border-color:#bbf7d0;cursor:default;opacity:.85}.dashboard-v2-onboarding .onboarding-step.done:hover{transform:none;box-shadow:none;border-color:#bbf7d0}.dashboard-v2-onboarding .onboarding-step.done .onboarding-step-num{background:#16a34a;color:#fff}.dashboard-v2-onboarding .onboarding-step.done strong{text-decoration:line-through;color:#94a3b8}.dashboard-v2-onboarding .onboarding-step.done .message{color:#94a3b8}.agenda-layout-cal{gap:0}.agenda-layout-cal .agenda-side{display:none!important}.agenda-layout-cal .agenda-main{min-width:0;width:100%}.cal-event.pending{background:#fef9c3;border-left-color:#ca8a04;color:#713f12}.cal-event.confirmed{background:#dcfce7;border-left-color:#16a34a;color:#14532d}.cal-event.done{background:#f1f5f9;border-left-color:#64748b;color:#475569}.cal-event.cancelled{background:#fee2e2;border-left-color:#dc2626;color:#991b1b;opacity:.65}.cal-event.absent{background:#fce7f3;border-left-color:#db2777;color:#831843}.cal-week{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff;display:flex;flex-direction:column}.cal-week-header{display:grid;grid-template-columns:52px repeat(7,1fr);background:var(--surface);border-bottom:2px solid var(--line)}.cal-gutter{width:52px;border-right:1px solid var(--line);flex-shrink:0}.cal-week-day-head{all:unset;display:flex;flex-direction:column;align-items:center;padding:10px 4px 8px;cursor:pointer;border-left:1px solid var(--line);transition:background .12s;gap:2px}.cal-week-day-head:hover{background:#00000008}.cal-week-day-head.is-today{background:#16a34a0d}.cal-week-day-head.is-selected{background:#16a34a14}.cal-day-name{font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.cal-day-num{font-size:20px;font-weight:700;color:var(--ink);line-height:1}.cal-week-day-head.is-today .cal-day-num{color:var(--g)}.cal-day-count{font-size:10px;color:var(--g);font-weight:600;min-height:14px}.cal-week-body{display:grid;grid-template-columns:52px repeat(7,1fr);overflow-y:auto;max-height:62vh;min-height:300px}.cal-gutter{display:flex;flex-direction:column}.cal-hour-label{height:64px;flex-shrink:0;display:flex;align-items:flex-start;justify-content:flex-end;padding:4px 6px 0 0;font-size:10px;color:var(--muted);border-bottom:1px solid var(--line);box-sizing:border-box}.cal-week-col{position:relative;border-left:1px solid var(--line);cursor:pointer}.cal-week-col.is-today{background:#16a34a06}.cal-hour-cell{height:64px;border-bottom:1px solid rgba(0,0,0,.06);box-sizing:border-box}.cal-event{position:absolute;left:2px;right:2px;border-radius:5px;padding:3px 6px;overflow:hidden;cursor:pointer;font-size:11px;line-height:1.3;border-left:3px solid transparent;transition:filter .12s,transform .12s;z-index:1;box-sizing:border-box}.cal-event:hover{filter:brightness(.95);transform:translate(1px)}.cal-event strong{display:block;font-size:10px;opacity:.75;font-weight:700}.cal-event span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-month{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff}.cal-month-header{display:grid;grid-template-columns:repeat(7,1fr);background:var(--surface);border-bottom:2px solid var(--line)}.cal-month-day-name{padding:10px 6px;text-align:center;font-size:10px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.cal-month-grid{display:grid;grid-template-columns:repeat(7,1fr)}.cal-month-cell{min-height:110px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:6px 5px;cursor:pointer;transition:background .1s;overflow:hidden;vertical-align:top;box-sizing:border-box}.cal-month-cell:nth-child(7n){border-right:none}.cal-month-cell:hover{background:var(--surface)}.cal-month-cell.cal-month-cell--empty{cursor:default;background:#00000004}.cal-month-cell.is-today{background:#16a34a0a}.cal-month-cell-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.cal-month-day-num{font-size:13px;font-weight:600;color:#0f172a!important;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%}.cal-month-cell.is-today .cal-month-day-num{background:var(--g);color:#fff;font-size:12px}.cal-month-count{font-size:10px;color:var(--muted)}.cal-month-events{display:flex;flex-direction:column;gap:2px}.cal-month-event{display:flex;align-items:center;gap:4px;font-size:11px;padding:2px 5px;border-radius:4px;white-space:nowrap;overflow:hidden;cursor:pointer;transition:filter .1s}.cal-month-event:hover{filter:brightness(.92)}.cal-month-event-time{font-weight:700;flex-shrink:0;font-size:10px;opacity:.8}.cal-month-event-name{overflow:hidden;text-overflow:ellipsis}.cal-month-event.pending{background:#fef9c3;color:#713f12}.cal-month-event.confirmed{background:#dcfce7;color:#14532d}.cal-month-event.done{background:#f1f5f9;color:#475569}.cal-month-event.cancelled{background:#fee2e2;color:#991b1b}.cal-month-event.absent{background:#fce7f3;color:#831843}.cal-month-more{font-size:10px;color:var(--muted);padding:1px 4px;font-weight:500}@media(max-width:720px){.cal-week-header{grid-template-columns:36px repeat(7,1fr)}.cal-week-body{grid-template-columns:36px repeat(7,1fr);max-height:55vh}.cal-gutter{width:36px}.cal-hour-label{padding:4px 3px 0 0;font-size:9px}.cal-day-num{font-size:14px}.cal-day-name{font-size:9px}.cal-event strong{display:none}.cal-month-cell{min-height:56px;padding:3px}.cal-month-event{display:none}.cal-month-count{font-size:11px;font-weight:700;color:var(--g)}.cal-month-day-num{font-size:12px}}.dashboard-v2-quick-links{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.dashboard-v2-quick-links button{all:unset;cursor:pointer;display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:10px;background:#f8fafc;border:1px solid #e2e8f0;color:#334155;font-size:13px;font-weight:600;transition:all .15s}.dashboard-v2-quick-links button:hover{background:#f0fdf4;border-color:#16a34a;color:#14532d}.dashboard-v2-quick-links button svg{width:16px;height:16px;color:#16a34a}@media(max-width:480px){.dashboard-v2-quick-links{grid-template-columns:1fr}}.backup-status{display:flex;align-items:flex-start;gap:10px;margin-top:4px}.backup-status-dot{flex-shrink:0;width:10px;height:10px;border-radius:50%;margin-top:4px}.backup-status-dot.ok{background:#16a34a}.backup-status-dot.error{background:#dc2626}.backup-status-info{display:flex;flex-direction:column;gap:2px;min-width:0}.backup-status-label{font-size:14px;font-weight:600;color:#0f172a}.backup-status-time{font-size:12px;color:#64748b}.backup-status-meta{font-size:12px;color:#64748b;word-break:break-all}.backup-status-meta.backup-status-error{color:#dc2626}.backup-status-never{font-size:13px;color:#94a3b8;margin:4px 0 0;line-height:1.5}.backup-status-never code{background:#f1f5f9;padding:1px 5px;border-radius:4px;font-size:12px;color:#475569}.plan-switch-card{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 18px;border-radius:12px;background:linear-gradient(135deg,#f0fdf4,#fff);border:1px solid #bbf7d0;flex-wrap:wrap}.plan-switch-current{flex:1;min-width:220px}.plan-switch-label{text-transform:uppercase;font-size:11px;letter-spacing:.4px;color:#16a34a;font-weight:700}.plan-switch-value{display:block;font-size:20px;color:#0f172a;font-weight:700;margin:4px 0}.plan-switch-desc{font-size:13px;color:#475569;margin:0}.plan-switch-actions{display:flex;gap:10px}.plan-switch-cta{background:#16a34a;color:#fff;border:none;border-radius:10px;padding:10px 16px;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s}.plan-switch-cta:hover{background:#15803d}.plan-switch-cta:disabled{opacity:.6;cursor:not-allowed}.plan-switch-downgrade{background:#fff;color:#dc2626;border:1px solid #fecaca}.plan-switch-downgrade:hover{background:#fef2f2;border-color:#fca5a5}.warn-message{background:#fffbeb;border:1px solid #fde68a;color:#92400e;padding:10px 12px;border-radius:8px;font-size:13px}button,a,input,select,textarea,label,.button-like,[role=button]{touch-action:manipulation}.avail-reminder-banner{display:flex;align-items:center;gap:14px;padding:14px 18px;background:#fffbeb;border:1px solid #fbbf24;border-radius:10px;margin-bottom:16px}.avail-reminder-banner>.app-icon{flex-shrink:0;color:#d97706;width:22px;height:22px}.avail-reminder-body{flex:1;min-width:0}.avail-reminder-body strong{display:block;color:#92400e;font-size:.93rem}.avail-reminder-body p{margin:2px 0 0;font-size:.83rem;color:#78350f}.avail-reminder-actions{display:flex;gap:8px;flex-shrink:0}.avail-reminder-actions button{font-size:.83rem;padding:6px 14px}.avail-reminder-close{flex-shrink:0;color:#92400e;opacity:.6}.avail-reminder-close:hover{opacity:1}.agenda-booking-link{border:1px solid var(--line);border-radius:8px;padding:18px}.agenda-booking-link-head{display:flex;align-items:center;gap:8px;margin-bottom:6px}.agenda-booking-link-head .app-icon{width:16px;height:16px;color:var(--primary)}.agenda-booking-link-head strong{font-size:.88rem}.agenda-booking-link .message{font-size:.8rem;margin-bottom:12px}.agenda-booking-link-actions{display:flex;gap:8px;flex-wrap:wrap}.agenda-booking-link-actions a,.agenda-booking-link-actions button{font-size:.8rem;padding:5px 10px}.patient-quick-view{display:flex;flex-direction:column;gap:18px}.pqv-hero{display:flex;align-items:center;gap:14px}.pqv-hero .profile-avatar{width:48px;height:48px;font-size:1.1rem;flex-shrink:0}.pqv-hero h3{margin:0;font-size:1.1rem}.pqv-hero .muted{margin:2px 0 0;font-size:.82rem;color:var(--muted)}.pqv-hero .message{margin:2px 0 0;font-size:.82rem}.pqv-turnos{display:flex;flex-direction:column;gap:6px}.pqv-turnos strong{font-size:.83rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.pqv-turno-row{display:flex;justify-content:space-between;align-items:center;font-size:.85rem;padding:4px 0;border-bottom:1px solid var(--line)}.booking-pending-info{display:flex;align-items:flex-start;gap:10px;background:#fffbeb;border:1px solid #fde68a;border-radius:10px;padding:12px 14px;font-size:.85rem;color:#78350f}.booking-pending-info .app-icon{flex-shrink:0;width:18px;height:18px;margin-top:1px;color:#d97706}.booking-pending-info p{margin:4px 0 0}.booking-pending-info a{color:#92400e;font-weight:600}.booking-pending-notice{display:flex;align-items:flex-start;gap:12px;background:#fffbeb;border:1px solid #fde68a;border-radius:10px;padding:16px;margin-top:8px;text-align:left}.booking-pending-notice .app-icon{flex-shrink:0;width:20px;height:20px;color:#d97706;margin-top:2px}.booking-pending-notice strong{display:block;margin-bottom:4px;color:#78350f}.booking-pending-notice p{margin:4px 0 0;font-size:.85rem;color:#92400e}.booking-pending-notice a{color:#92400e;font-weight:600}.booking-contact-links{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:8px!important}.booking-contact-wp{display:inline-flex;align-items:center;gap:5px;background:#25d366;color:#fff!important;font-weight:700!important;font-size:.82rem;padding:5px 12px;border-radius:999px;text-decoration:none}.booking-contact-wp:hover{background:#1ebe5a}.booking-contact-tel{display:inline-flex;align-items:center;font-size:.85rem;color:#92400e!important;font-weight:600;text-decoration:none;border:1px solid #fbbf24;padding:5px 12px;border-radius:999px;background:#fffbeb}.booking-contact-tel:hover{background:#fef3c7}.label-hint{font-size:.75rem;font-weight:400;color:var(--muted);margin-left:4px}.detail-whatsapp-actions{border-top:1px solid var(--line);padding-top:16px;margin-top:4px}.detail-wa-buttons{display:flex;gap:10px;flex-wrap:wrap}.wa-btn{display:inline-flex;align-items:center;gap:6px;border-radius:8px;padding:7px 14px;font-size:.82rem;font-weight:600;text-decoration:none;transition:opacity .15s}.wa-confirm{background:#dcfce7;color:#166534}.wa-confirm:hover{opacity:.85;color:#166534}.wa-cancel{background:#fee2e2;color:#991b1b}.wa-cancel:hover{opacity:.85;color:#991b1b}[data-theme=dark] .wa-confirm{background:#14532d;color:#bbf7d0}[data-theme=dark] .wa-cancel{background:#450a0a;color:#fca5a5}.agenda-gcal-widget{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:14px 16px;display:flex;flex-direction:column;gap:10px}.agenda-gcal-head{display:flex;align-items:center;gap:8px}.gcal-icon{display:flex;align-items:center;color:var(--primary);opacity:.85}.agenda-gcal-head strong{font-size:.88rem;flex:1}.gcal-connected-badge{font-size:.72rem;font-weight:600;background:#dcfce7;color:#166534;border-radius:20px;padding:2px 8px}[data-theme=dark] .gcal-connected-badge{background:#14532d;color:#bbf7d0}.gcal-sync-label{font-size:.76rem;color:var(--muted);margin:0}.agenda-gcal-actions{display:flex;gap:8px;flex-wrap:wrap}.agenda-gcal-actions .icon-action{font-size:.8rem;padding:5px 10px}.danger-quiet{background:transparent;border:none;color:var(--danger, #dc2626);cursor:pointer;font-size:.8rem;padding:5px 4px;border-radius:6px}.danger-quiet:hover{background:#fee2e2;color:#991b1b}[data-theme=dark] .danger-quiet:hover{background:#450a0a;color:#fca5a5}.gcal-connect-btn{display:flex;align-items:center;gap:10px;background:#fff;color:#3c4043;border:1px solid #dadce0;border-radius:7px;padding:8px 14px;font-size:.83rem;font-weight:500;text-decoration:none;transition:background .15s,box-shadow .15s;box-shadow:0 1px 2px #00000014}.gcal-connect-btn:hover{background:#f8f9fa;box-shadow:0 2px 6px #0000001f;color:#3c4043}[data-theme=dark] .gcal-connect-btn{background:#2a2d30;border-color:#5f6368;color:#e8eaed}[data-theme=dark] .gcal-connect-btn:hover{background:#35373a}.wp-trigger{position:relative}.wp-trigger.wp-ready{color:#25d366}.wp-dot{position:absolute;top:4px;right:4px;width:7px;height:7px;background:#25d366;border-radius:50%;border:1.5px solid var(--surface, #fff)}.wp-modal{display:flex;flex-direction:column;gap:16px;min-width:340px;max-width:460px}.wp-modal-header{display:flex;align-items:center;gap:10px}.wp-modal-header h3{margin:0;font-size:16px;font-weight:700}.wp-status-bar{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:10px;background:var(--bg, #f4f6f9);border:1px solid var(--border, #e2e8f0)}.wp-status-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}.wp-s-disconnected .wp-status-dot{background:var(--muted, #9ca3af)}.wp-s-connecting .wp-status-dot,.wp-s-loading .wp-status-dot{background:#f59e0b;animation:blink 1.2s ease-in-out infinite}.wp-s-ready .wp-status-dot{background:#25d366}.wp-status-label{flex:1;font-size:14px}@keyframes blink{0%,to{opacity:1}50%{opacity:.35}}.wp-btn-sm{padding:5px 12px;border:none;border-radius:7px;font-size:13px;font-weight:600;cursor:pointer;background:var(--g, #6366f1);color:#fff;transition:opacity .15s}.wp-btn-sm:disabled{opacity:.5;cursor:not-allowed}.wp-btn-sm.danger{background:var(--danger, #ef4444)}.wp-qr-wrap{display:flex;flex-direction:column;align-items:center;gap:10px;padding:12px;background:var(--bg);border-radius:12px;border:1px solid var(--border)}.wp-qr-hint{font-size:13px;color:var(--muted);text-align:center;margin:0}.wp-qr-img{width:220px;height:220px;border-radius:8px}.wp-qr-sub{font-size:11px;color:var(--muted);margin:0}.wp-config{display:flex;flex-direction:column;gap:14px}.wp-config-row{display:flex;flex-direction:column;gap:6px}.wp-config-label{font-size:13px;font-weight:600;color:var(--ink);display:flex;flex-direction:column;gap:6px}.wp-config-label select{font-size:13px;padding:7px 10px;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--ink)}.wp-mensaje-input{font-size:13px;padding:8px 10px;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--ink);resize:vertical;font-family:inherit}.wp-vars-hint{font-size:11px;color:var(--muted);margin:0}.wp-vars-hint code{background:var(--bg);padding:1px 4px;border-radius:4px;font-size:11px}.wp-toggle-label{display:flex;align-items:center;justify-content:space-between;font-size:14px;font-weight:600;cursor:pointer}.toggle-btn{position:relative;width:40px;height:22px;background:var(--border, #cbd5e1);border:none;border-radius:11px;cursor:pointer;transition:background .2s;flex-shrink:0}.toggle-btn.on{background:#25d366}.toggle-knob{position:absolute;top:2px;left:2px;width:18px;height:18px;background:#fff;border-radius:50%;transition:left .2s;box-shadow:0 1px 3px #0003}.toggle-btn.on .toggle-knob{left:20px}.wp-divider{border:none;border-top:1px solid var(--border);margin:0}.wp-test-label{font-size:13px;font-weight:600;color:var(--ink);margin:0 0 6px}.wp-test-inputs{display:flex;gap:8px}.wp-test-inputs input{flex:1;font-size:13px;padding:7px 10px;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--ink)}.wp-hint-disconnected{font-size:13px;color:var(--muted);text-align:center;margin:0;padding:8px 0}[data-theme=dark] .wp-status-bar,[data-theme=dark] .wp-qr-wrap{background:#1e2229;border-color:#2d3748}[data-theme=dark] .wp-config-label select,[data-theme=dark] .wp-mensaje-input,[data-theme=dark] .wp-test-inputs input{background:#1e2229;border-color:#2d3748;color:#e2e8f0}.churn-list{display:flex;flex-direction:column;gap:8px}.churn-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 14px;border-radius:10px;border:1px solid var(--border);background:var(--surface)}.churn-high{border-left:3px solid #ef4444}.churn-medium{border-left:3px solid #f59e0b}.churn-low{border-left:3px solid #94a3b8}.churn-row-left{display:flex;align-items:center;gap:10px;flex:1;min-width:180px}.churn-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}.churn-dot-high{background:#ef4444}.churn-dot-medium{background:#f59e0b}.churn-dot-low{background:#94a3b8}.churn-meta{font-size:12px;color:var(--muted)}.churn-tags{display:flex;gap:5px;flex-wrap:wrap;flex:1}.churn-tag{font-size:11px;padding:2px 8px;border-radius:12px;font-weight:600;white-space:nowrap}.churn-tag-high{background:#fee2e2;color:#991b1b}.churn-tag-medium{background:#fef3c7;color:#92400e}.churn-tag-low{background:#f1f5f9;color:#475569}.churn-row-right{display:flex;flex-direction:column;align-items:flex-end;gap:2px;font-size:12px;color:var(--muted);min-width:110px}.churn-last{font-weight:600;color:var(--ink)}[data-theme=dark] .churn-tag-high{background:#450a0a;color:#fca5a5}[data-theme=dark] .churn-tag-medium{background:#451a03;color:#fcd34d}[data-theme=dark] .churn-tag-low{background:#1e293b;color:#94a3b8}.export-panel{display:flex;flex-direction:column;gap:12px}.export-panel-row{display:flex;align-items:center;gap:16px;justify-content:space-between;flex-wrap:wrap}.export-panel-info{flex:1}.export-panel-info strong{font-size:14px}.export-panel-info p{margin:3px 0 0;font-size:13px}.btn-export{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:8px;background:var(--g, #6366f1);color:#fff;font-size:13px;font-weight:600;text-decoration:none;border:none;cursor:pointer;white-space:nowrap;transition:opacity .15s}.btn-export:hover{opacity:.88}.wa-prices-form{display:flex;flex-direction:column;gap:16px}.wa-prices-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}@media(max-width:700px){.wa-prices-grid{grid-template-columns:1fr}}.wa-plan-fieldset{border:1px solid var(--border);border-radius:10px;padding:16px;display:flex;flex-direction:column;gap:10px}.wa-plan-fieldset legend{font-size:13px;font-weight:700;color:var(--text);padding:0 6px}.wa-plan-card{display:flex;flex-direction:column;gap:10px}.wa-plan-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}.wa-plan-usage{display:flex;flex-direction:column;gap:6px}.wa-plan-usage-label{display:flex;justify-content:space-between;font-size:13px}.wa-bar-track{height:8px;border-radius:999px;background:var(--surface-2, #f1f5f9);overflow:hidden}.wa-bar-fill{height:100%;border-radius:999px;transition:width .4s ease}.wa-bar-ok{background:#22c55e}.wa-bar-warn{background:#f59e0b}.wa-bar-danger{background:#ef4444}.wa-plan-empty{display:flex;flex-direction:column;gap:8px}.btn-link{color:var(--accent, #6366f1);font-size:13px;font-weight:600;text-decoration:underline;cursor:pointer;background:none;border:none;padding:0}.notif-rows{display:flex;flex-direction:column;gap:0;border:1px solid var(--border);border-radius:10px;overflow:hidden}.notif-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid var(--border)}.notif-row:last-child{border-bottom:none}.notif-row--locked{opacity:.75}.notif-row-info{display:flex;flex-direction:column;gap:2px}.notif-row-info strong{font-size:14px;font-weight:600}.notif-row-info small{font-size:12px;color:var(--text-muted, #888)}.notif-badge-on{font-size:11px;font-weight:700;white-space:nowrap;background:#d1fae5;color:#059669;padding:3px 10px;border-radius:999px}.notif-sub-row{padding:10px 16px 14px;background:var(--surface-subtle, #f8fafc);border-bottom:1px solid var(--border);font-size:14px}.notif-sub-row:last-child{border-bottom:none}.notif-sub-row input[type=number]{display:inline-block}.toggle-switch{position:relative;display:inline-flex;align-items:center;cursor:pointer}.toggle-switch input{opacity:0;width:0;height:0;position:absolute}.toggle-track{width:40px;height:22px;background:#d1d5db;border-radius:999px;transition:background .2s;display:block;flex-shrink:0}.toggle-track:after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;background:#fff;border-radius:50%;transition:transform .2s;box-shadow:0 1px 3px #0003}.toggle-switch input:checked~.toggle-track{background:#6366f1}.toggle-switch input:checked~.toggle-track:after{transform:translate(18px)}.agenda-pending-card{background:#fffbeb;border:1px solid #fcd34d;border-radius:12px;padding:14px 14px 10px;display:flex;flex-direction:column;gap:8px}.agenda-pending-header{display:flex;align-items:center;gap:6px}.agenda-pending-icon{font-size:16px}.agenda-pending-header strong{font-size:13px;font-weight:700;flex:1}.agenda-pending-badge{background:#f59e0b;color:#fff;font-size:11px;font-weight:700;min-width:20px;height:20px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;padding:0 6px}.agenda-pending-desc{font-size:12px;color:#78350f;margin:0}.agenda-pending-list{display:flex;flex-direction:column;gap:4px}.agenda-pending-item{display:flex;align-items:center;gap:6px;background:#fff;border:1px solid #fde68a;border-radius:8px;padding:6px 8px}.agenda-pending-item-info{flex:1;display:flex;flex-direction:column;gap:1px;background:none!important;color:inherit!important;border:none;padding:0;cursor:pointer;text-align:left}.agenda-pending-item-info:hover{background:none!important;color:inherit!important}.agenda-pending-item-time{font-size:11px;font-weight:600;color:#92400e}.agenda-pending-item-name{font-size:12px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:130px}.agenda-pending-confirm-btn{width:26px;height:26px;border-radius:50%;border:none;background:#d1fae5;color:#059669;font-size:14px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s}.agenda-pending-confirm-btn:hover{background:#6ee7b7}.agenda-pending-more{font-size:11px;color:#92400e;margin:2px 0 0;text-align:center}.overdue-stack{position:fixed;bottom:24px;right:24px;z-index:40;display:flex;flex-direction:column;gap:10px;max-width:340px;width:calc(100vw - 48px);pointer-events:none}.overdue-prompt{background:#fff;border:1px solid #e5e7eb;border-left:4px solid #f59e0b;border-radius:10px;box-shadow:0 8px 32px #00000024;padding:14px 14px 12px;display:flex;flex-direction:column;gap:10px;pointer-events:all;animation:overdue-in .25s ease}@keyframes overdue-in{0%{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.overdue-prompt-info{display:flex;flex-direction:column;gap:2px}.overdue-prompt-time{font-size:11px;font-weight:700;color:#d97706;letter-spacing:.02em}.overdue-prompt-name{font-size:15px;font-weight:700;color:#111827}.overdue-prompt-label{font-size:12px;color:#6b7280}.overdue-prompt-actions{display:flex;gap:7px;align-items:center}.overdue-btn{display:inline-flex;align-items:center;gap:5px;padding:6px 12px;border-radius:7px;border:none;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s,transform .1s}.overdue-btn:hover{transform:translateY(-1px)}.overdue-btn--done{background:#d1fae5;color:#065f46}.overdue-btn--done:hover{background:#a7f3d0!important;color:#065f46!important}.overdue-btn--absent{background:#fee2e2;color:#991b1b}.overdue-btn--absent:hover{background:#fecaca!important;color:#991b1b!important}.overdue-btn--dismiss{margin-left:auto;background:none;color:#9ca3af;font-size:16px;padding:4px 8px;min-height:auto}.overdue-btn--dismiss:hover{background:#f3f4f6!important;color:#6b7280!important}.overdue-more{font-size:12px;color:#92400e;background:#fffbeb;border:1px solid #fcd34d;border-radius:8px;padding:8px 12px;text-align:center;pointer-events:all}@media(max-width:600px){.overdue-stack{bottom:72px;right:12px;left:12px;width:auto;max-width:none}}@media(max-width:600px){.modal-root--centered{align-items:center!important;padding:20px!important}.modal-root--centered .modal{border-radius:12px!important;width:calc(100% - 40px)!important;max-height:calc(100vh - 80px)!important}}.pending-modal-list{display:flex;flex-direction:column;gap:8px}.pending-modal-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;background:var(--surface-subtle, #f8fafc);border:1px solid var(--border);border-radius:8px}.pending-modal-info{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.pending-modal-info strong{font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pending-modal-info small{font-size:12px;color:var(--text-muted, #888)}.pending-modal-actions{display:flex;gap:8px;flex-shrink:0}.pending-action-full{display:inline-flex;align-items:center;gap:5px;padding:7px 13px;border-radius:8px;border:none;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s,transform .1s,box-shadow .1s;white-space:nowrap}.pending-action-full:hover{transform:translateY(-1px);box-shadow:0 3px 10px #0000001f}.pending-action-full--confirm{background:#d1fae5;color:#065f46}.pending-action-full--confirm:hover{background:#a7f3d0!important;color:#065f46!important}.pending-action-full--cancel{background:#fee2e2;color:#991b1b}.pending-action-full--cancel:hover{background:#fecaca!important;color:#991b1b!important}@media(max-width:500px){.pending-modal-row{flex-direction:column;align-items:flex-start;gap:8px}.pending-modal-actions{width:100%}.pending-action-full{flex:1;justify-content:center}}.dashboard-pending-card{border-color:#fcd34d!important;background:#fffdf0!important}.dashboard-pending-icon{font-size:16px;line-height:1}.dashboard-pending-badge{background:#f59e0b;color:#fff;font-size:11px;font-weight:700;min-width:20px;height:20px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;padding:0 6px;margin-left:4px}.dashboard-pending-more{font-size:12px;color:#92400e;text-align:center;padding:4px 0 0;margin:0}.dni-search-panel h2{font-size:15px;font-weight:700;margin-bottom:12px}.superadmin-config-section{gap:12px}.config-disclosure{overflow:hidden;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:var(--shadow-sm)}.config-disclosure summary{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px;cursor:pointer;list-style:none}.config-disclosure summary::-webkit-details-marker{display:none}.config-disclosure summary:after{content:"+";width:30px;height:30px;display:grid;place-items:center;flex:0 0 auto;border-radius:50%;background:#eef8ec;color:var(--primary-strong);font-size:18px;font-weight:800}.config-disclosure[open] summary{border-bottom:1px solid var(--line)}.config-disclosure[open] summary:after{content:"−"}.config-disclosure summary h2{margin:0 0 4px;font-size:18px;letter-spacing:0}.config-disclosure summary .message{margin:0}.config-disclosure-body{padding:16px}.config-disclosure-body>.toolbar-form:last-child,.config-disclosure-body>.landing-carousel-list:last-child{margin-bottom:0}.config-disclosure-status{margin-left:auto;flex:0 0 auto;padding:4px 10px;border-radius:999px;background:#f2f4f7;color:#475467;font-size:12px;font-weight:800;white-space:nowrap}.config-summary-actions{margin-left:auto;display:flex;align-items:center;gap:8px;flex:0 0 auto}.config-summary-actions+.config-disclosure-status,.config-summary-actions~.config-disclosure-status{margin-left:0}.landing-carousel-form{display:grid;grid-template-columns:minmax(220px,1fr) minmax(180px,.8fr) 110px repeat(2,minmax(180px,1fr)) auto;gap:12px;align-items:end;padding-bottom:14px;margin-bottom:14px;border-bottom:1px solid var(--line)}.landing-carousel-list{display:grid;gap:12px}.landing-carousel-admin-card{display:grid;grid-template-columns:minmax(220px,340px) minmax(0,1fr);gap:14px;padding:12px;border:1px solid var(--line);border-radius:8px;background:#fbfcfd}.landing-carousel-admin-card.inactive{opacity:.68}.landing-carousel-preview{position:relative;min-height:176px;display:grid;place-items:center;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:#fff}.landing-carousel-preview img{width:100%;height:100%;max-height:220px;object-fit:contain}.landing-carousel-preview .mobile-preview{position:absolute;right:10px;bottom:10px;width:72px;height:104px;border:2px solid #fff;border-radius:8px;background:#f8fafc;box-shadow:var(--shadow-sm)}.landing-carousel-edit{display:grid;grid-template-columns:minmax(180px,1fr) minmax(160px,.8fr) 100px;gap:12px}.landing-carousel-edit .two-cols,.landing-carousel-edit .actions{grid-column:1 / -1}@media(max-width:1180px){.landing-carousel-form,.landing-carousel-admin-card,.landing-carousel-edit{grid-template-columns:1fr}}.dni-search-row{display:flex;align-items:center;gap:10px}.dni-search-input{flex:1;max-width:320px}.dni-search-loading{font-size:13px;color:var(--muted)}.dni-results{display:flex;flex-direction:column;gap:10px;margin-top:14px}.dni-result-card{display:flex;gap:16px;flex-wrap:wrap;padding:12px 16px;border-radius:10px;border:1px solid var(--line);background:var(--bg)}.dni-result-usuario,.dni-result-cuenta{display:flex;flex-direction:column;gap:2px;flex:1;min-width:180px}.dni-result-cuenta{border-left:1px solid var(--line);padding-left:16px}.warn-text{color:var(--danger, #dc2626)}@media(max-width:640px){.dni-result-cuenta{border-left:none;border-top:1px solid var(--line);padding-left:0;padding-top:10px}}.modal-tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:20px}.modal-tab{background:none;border:none;border-bottom:2px solid transparent;padding:8px 16px;font-size:14px;font-weight:500;color:var(--muted);cursor:pointer;margin-bottom:-1px;transition:color .15s,border-color .15s}.modal-tab:hover{color:var(--text)}.modal-tab.active{color:var(--primary, #2c9a16);border-bottom-color:var(--primary, #2c9a16)}.inst-historial{display:flex;flex-direction:column;gap:12px;max-height:420px;overflow-y:auto}.historial-entry{border:1px solid var(--line);border-radius:8px;padding:12px 14px;background:var(--surface)}.historial-entry-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px}.historial-badge{font-size:11px;font-weight:600;padding:2px 8px;border-radius:20px;background:var(--line);color:var(--text);text-transform:uppercase;letter-spacing:.04em}.historial-badge.accion-actualizar{background:#dbeafe;color:#1d4ed8}.historial-badge.accion-suspender{background:#fee2e2;color:#b91c1c}.historial-badge.accion-regalar_prueba,.historial-badge.accion-mercadopago_bonus_pause{background:#d1fae5;color:#065f46}.historial-badge.accion-migrar{background:#ede9fe;color:#5b21b6}.historial-badge.accion-alta,.historial-badge.accion-crear{background:#dcfce7;color:#166534}.historial-badge.accion-blanquear_password{background:#fef3c7;color:#92400e}.historial-fecha{font-size:12px;color:var(--muted);white-space:nowrap}.historial-detalle{font-size:13px;color:var(--text);margin:2px 0 0;line-height:1.5}.historial-autor{font-size:12px;color:var(--muted);margin:4px 0 0}.hide-mobile{display:block}.show-mobile{display:none}.prof-cards,.inst-cards{display:flex;flex-direction:column;gap:10px;margin-top:8px}.prof-card{border:1px solid var(--line);border-radius:10px;padding:14px 16px;display:flex;flex-direction:column;gap:10px;background:var(--surface)}.prof-card-main{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.prof-card-main>div{display:flex;flex-direction:column;gap:2px}.prof-card-main strong{font-size:14px;font-weight:600}.prof-card-main small{font-size:12px;color:var(--muted)}.prof-card .actions{display:flex;gap:8px}@media(max-width:640px){.hide-mobile{display:none!important}.show-mobile{display:block!important}}
