.schema-form-backdrop{z-index:10000;background:#0f172aad;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.schema-form-dialog{color:#253447;background:#fff;border-radius:16px;flex-direction:column;width:min(640px,100%);max-height:min(90dvh,900px);display:flex;overflow:hidden;box-shadow:0 24px 80px #00000047}.schema-form-header,.schema-form-actions{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;display:flex}.schema-form-header h2{margin:0;font-size:1.2rem;font-weight:700}.schema-form-close{cursor:pointer;background:0 0;border:0;font-size:26px;line-height:1}.schema-form-dialog form{flex-direction:column;min-height:0;display:flex}.schema-form-fields{gap:16px;padding:20px;display:grid;overflow-y:auto}.schema-form-field{gap:6px;display:grid}.schema-form-field label{font-size:.88rem;font-weight:650}.schema-form-field label span{color:#b91c1c}.schema-form-field input,.schema-form-field select,.schema-form-field textarea{color:#1e293b;width:100%;font:inherit;background:#fff;border:1px solid #b7c4d2;border-radius:8px;padding:10px 12px}.schema-form-field input:focus-visible,.schema-form-field select:focus-visible,.schema-form-field textarea:focus-visible,.schema-form-dialog button:focus-visible{outline-offset:2px;outline:2px solid #2563eb}.schema-form-checkbox{grid-template-columns:1fr auto;align-items:center}.schema-form-checkbox input{width:18px;height:18px}.schema-form-field small{color:#64748b;line-height:1.4}.schema-form-field [aria-invalid=true]{border-color:#dc2626}.schema-form-field-errors{color:#b91c1c;margin:0;padding-left:18px;font-size:.84rem}.schema-form-message{margin:0;padding:20px}.schema-form-error{color:#b91c1c;background:#fef2f2}.schema-form-actions{border-top:1px solid #e2e8f0;border-bottom:0;justify-content:flex-end}.schema-form-actions button,.schema-form-message button{color:#123f60;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:8px;padding:10px 16px;font-weight:650}.schema-form-actions button[type=submit]{color:#fff;background:#123f60;border-color:#123f60}.schema-form-actions button:disabled,.schema-form-close:disabled{opacity:.55;cursor:not-allowed}
.schedule-calendar{color:#24394b;gap:12px;display:grid}.schedule-calendar__toolbar,.schedule-calendar__navigation,.schedule-calendar__actions,.schedule-calendar__event-heading,.schedule-calendar__error,.schedule-calendar__error button{align-items:center;display:flex}.schedule-calendar__toolbar{z-index:12;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#f3f6f9f5;border-bottom:1px solid #dbe3ea;justify-content:space-between;gap:12px;margin:-14px -16px 0;padding:14px 16px 11px;position:sticky;top:-14px}.schedule-calendar__navigation{gap:6px}.schedule-calendar__navigation h3{color:#123f60;text-align:center;min-width:178px;margin:0;font-size:15px}.schedule-calendar__navigation button,.schedule-calendar__actions button,.schedule-calendar__error button{color:#294b63;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:8px;min-height:34px}.schedule-calendar__navigation button{place-items:center;width:34px;padding:0;display:grid}.schedule-calendar__actions{gap:7px}.schedule-calendar__actions button{font:inherit;justify-content:center;align-items:center;gap:5px;padding:7px 10px;font-size:12px;font-weight:650;display:inline-flex}.schedule-calendar__actions .schedule-calendar__create{color:#fff;background:#123f60;border-color:#123f60}.schedule-calendar__navigation button:hover,.schedule-calendar__today:hover{background:#eef3f7}.schedule-calendar__actions .schedule-calendar__create:hover{background:#18567f}.schedule-calendar__weekdays,.schedule-calendar__grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;display:grid}.schedule-calendar__weekdays span{color:#64748b;text-align:center;padding:3px 0;font-size:11px;font-weight:700}.schedule-calendar__day,.schedule-calendar__empty{border-radius:9px;min-height:62px}.schedule-calendar__day{color:#263b4d;cursor:pointer;background:#fff;border:1px solid #dbe4ec;padding:0;transition:border-color .12s,box-shadow .12s,transform .12s;position:relative}.schedule-calendar__day:hover{transform:translateY(-1px);box-shadow:0 3px 8px #0f172a1a}.schedule-calendar__day[aria-selected=true]{box-shadow:0 0 0 2px #123f60}.schedule-calendar__day--today{outline-offset:-4px;outline:2px dashed #2563eb}.schedule-calendar__day--critical{color:#991b1b;background:#fee2e2;border-color:#ef4444}.schedule-calendar__day--inProgress{color:#92400e;background:#fef3c7;border-color:#f59e0b}.schedule-calendar__day--resolved{color:#166534;background:#dcfce7;border-color:#22c55e}.schedule-calendar__day--scheduled{color:#075985;background:#e0f2fe;border-color:#38bdf8}.schedule-calendar__number,.schedule-calendar__count,.schedule-calendar__personal,.schedule-calendar__day-assignee{position:absolute}.schedule-calendar__number{font-size:13px;font-weight:750;top:7px;left:8px}.schedule-calendar__count{font-size:10px;font-weight:750;top:7px;right:7px}.schedule-calendar__personal{font-size:18px;font-weight:850;line-height:1;bottom:5px;left:8px}.schedule-calendar__day-assignee{color:#fff;background:#294b63;border:1px solid #ffffffbf;border-radius:50%;place-items:center;width:23px;height:23px;font-size:9px;display:grid;bottom:5px;right:7px;box-shadow:0 1px 3px #0f172a33}.schedule-calendar__loading,.schedule-calendar__error,.schedule-calendar__success{border-radius:8px;min-height:38px;padding:8px 10px;font-size:12px}.schedule-calendar__loading{color:#475569;background:#f1f5f9}.schedule-calendar__success{color:#166534;background:#dcfce7}.schedule-calendar__notification{color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;min-height:38px;padding:8px 10px;font-size:12px}.schedule-calendar__error{color:#991b1b;background:#fee2e2;justify-content:space-between;gap:12px}.schedule-calendar__error button{gap:5px;min-height:30px;padding:5px 8px;font-size:11px}.schedule-calendar__skeleton{gap:8px;display:grid}.schedule-calendar__skeleton-weekdays,.schedule-calendar__skeleton-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;display:grid}.schedule-calendar__skeleton-weekdays span{background:#dce5ed;border-radius:4px;height:12px;animation:1.2s ease-in-out infinite schedule-calendar-pulse}.schedule-calendar__skeleton-grid span{background:linear-gradient(100deg,#edf2f6 30%,#f8fafc 50%,#edf2f6 70%) 0 0/220% 100%;border:1px solid #e3eaf0;border-radius:9px;min-height:62px;animation:1.3s linear infinite schedule-calendar-shimmer}@keyframes schedule-calendar-pulse{50%{opacity:.5}}@keyframes schedule-calendar-shimmer{to{background-position:-220% 0}}.schedule-calendar__legend{color:#526577;background:#fff;border-radius:8px;flex-wrap:wrap;gap:7px 14px;padding:8px 10px;font-size:10px;display:flex}.schedule-calendar__legend span{align-items:center;gap:5px;display:inline-flex}.schedule-calendar__legend-dot{border-radius:3px;width:9px;height:9px}.schedule-calendar__legend-dot--critical{background:#ef4444}.schedule-calendar__legend-dot--inProgress{background:#f59e0b}.schedule-calendar__legend-dot--resolved{background:#22c55e}.schedule-calendar__legend-dot--scheduled{background:#38bdf8}.schedule-calendar__details{background:#fff;border:1px solid #dce5ed;border-radius:10px;padding:12px}.schedule-calendar__details h4{color:#123f60;margin:0 0 9px;font-size:13px}.schedule-calendar__details>p{color:#64748b;margin:0;font-size:12px}.schedule-calendar__details ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.schedule-calendar__event{background:#f8fafc;border-left:3px solid #38bdf8;border-radius:7px;padding:10px}.schedule-calendar__event--in-progress{border-left-color:#f59e0b}.schedule-calendar__event--cancelled{background:#fee2e2;border-left-color:#dc2626}.schedule-calendar__event--completed{background:#dcfce7;border-left-color:#16a34a}.schedule-calendar__event-heading{justify-content:space-between;gap:10px}.schedule-calendar__event-heading>div{align-items:center;gap:6px;min-width:0;display:flex}.schedule-calendar__event-heading strong{overflow-wrap:anywhere;min-width:0;font-size:12px}.schedule-calendar__event-heading>span,.schedule-calendar__running{color:#475569;background:#e2e8f0;border-radius:999px;flex-shrink:0;padding:2px 6px;font-size:9px;font-weight:700}.schedule-calendar__running{color:#92400e;background:#fef3c7}.schedule-calendar__event-meta{color:#526577;margin-top:5px;font-size:10px;line-height:1.45}.schedule-calendar__event p{color:#475569;margin:7px 0 0;font-size:11px}.schedule-calendar__event-controls{justify-content:space-between;align-items:center;gap:8px;margin-top:8px;display:flex}.schedule-calendar__assignee-list{flex-wrap:wrap;gap:5px;display:flex}.schedule-calendar__assignee,.schedule-calendar__assign{color:#fff;background:#294b63;border:1px solid #b8cad8;border-radius:50%;place-items:center;width:27px;height:27px;padding:0;font-size:9px;font-weight:800;display:grid}button.schedule-calendar__assignee,.schedule-calendar__assign{cursor:pointer}.schedule-calendar__assignee--declined{background:#b91c1c}.schedule-calendar__assignee--completed{background:#15803d}.schedule-calendar__assign{background:#16a34a;border-color:#16a34a;flex:none}.schedule-calendar__assign:hover{background:#15803d}.schedule-calendar__unassigned{color:#64748b;font-size:10px}.schedule-calendar__event-actions{border-top:1px solid #e2e8f0;flex-wrap:wrap;gap:6px;margin-top:9px;padding-top:8px;display:flex}.schedule-calendar__event-actions button{color:#294b63;min-height:27px;font:inherit;cursor:pointer;background:#fff;border:1px solid #bfd0dc;border-radius:6px;align-items:center;gap:4px;padding:4px 7px;font-size:9px;font-weight:700;display:inline-flex}.schedule-calendar__event-actions button:hover{background:#edf4f8}.schedule-calendar__event-actions button.danger{color:#b91c1c;border-color:#fecaca}.schedule-calendar__event-actions button.danger:hover{background:#fff1f2}.schedule-action-modal{z-index:1600;background:#0f172a85;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.schedule-action-modal__dialog{background:#fff;border:1px solid #d5e0e8;border-radius:14px;gap:14px;width:min(430px,100vw - 32px);max-height:min(620px,100dvh - 32px);padding:18px;display:grid;overflow:visible;box-shadow:0 22px 70px #0f172a52}.schedule-action-modal__dialog>header,.schedule-action-modal__dialog>footer{justify-content:space-between;align-items:center;gap:10px;display:flex}.schedule-action-modal__dialog h3{color:#123f60;margin:0;font-size:16px}.schedule-action-modal__dialog header button{color:#475569;cursor:pointer;background:#f1f5f9;border:0;border-radius:7px;place-items:center;width:32px;height:32px;padding:0;display:grid}.schedule-action-modal__dialog>p{color:#526577;margin:0;font-size:12px}.schedule-action-modal__batch-days{background:#fee2e2;border-radius:7px;padding:8px 10px;font-weight:700;color:#991b1b!important}.schedule-action-modal__dialog label{color:#334155;gap:6px;font-size:11px;font-weight:700;display:grid}.schedule-action-modal__dialog textarea,.schedule-action-modal__dialog input{box-sizing:border-box;color:#334155;width:100%;font:inherit;resize:vertical;background:#fff;border:1px solid #cbd5e1;border-radius:8px;padding:9px 10px;font-size:12px}.schedule-action-modal__error{color:#991b1b;background:#fee2e2;border-radius:7px;padding:9px 10px;font-size:11px}.schedule-action-modal__dialog>footer{justify-content:flex-end}.schedule-action-modal__dialog>footer button{min-height:36px;font:inherit;cursor:pointer;border:1px solid #0000;border-radius:8px;align-items:center;gap:5px;padding:7px 12px;font-size:11px;font-weight:750;display:inline-flex}.schedule-action-modal__dialog>footer button:disabled{cursor:wait;opacity:.6}.schedule-action-modal__dialog>footer .secondary{color:#475569;background:#fff;border-color:#cbd5e1}.schedule-action-modal__dialog>footer .primary{color:#fff;background:#123f60}.schedule-action-modal__dialog>footer .danger{color:#fff;background:#b91c1c}@media (max-width:600px){.schedule-calendar__toolbar{flex-direction:column;align-items:stretch}.schedule-calendar__navigation{justify-content:space-between}.schedule-calendar__navigation h3{flex:1;min-width:0}.schedule-calendar__actions button{flex:1}.schedule-calendar__day,.schedule-calendar__empty,.schedule-calendar__skeleton-grid span{min-height:52px}.schedule-calendar__number{top:5px;left:6px}.schedule-calendar__count{font-size:9px;top:5px;right:5px}.schedule-calendar__personal{bottom:4px;left:6px}.schedule-calendar__day-assignee{width:21px;height:21px;bottom:4px;right:5px}}.schedule-calendar__day-assignee,.schedule-calendar__assignee,.schedule-calendar__assignee--declined,.schedule-calendar__assignee--completed{background:#db2777}button.schedule-calendar__assignee:hover{background:#be185d;border-color:#be185d}.schedule-calendar__mine{color:#be185d;background:#fce7f3;border:1px solid #f9a8d4;border-radius:50%;place-items:center;width:20px;height:20px;display:grid;position:absolute;bottom:6px;left:7px}.schedule-calendar__mine+.schedule-calendar__personal{left:30px}
.modal-user{box-sizing:border-box;color:#334155;border:1px solid var(--color-primary);z-index:1000;will-change:width,height;background:#f3f6f9;border-radius:16px;flex-direction:column;width:min(420px,100vw - 96px);height:min(540px,100dvh - 24px);transition:width .28s,height .32s;display:flex;position:fixed;bottom:12px;left:80px;box-shadow:0 16px 48px #0f172a3d}.modal-user .user-header{border-bottom:1px solid #dbe3ea;flex:none;justify-content:space-between;align-items:center;gap:12px;padding:18px;display:flex}.modal-user .user-header h2{color:#123f60;overflow-wrap:anywhere;align-items:center;gap:8px;min-width:0;margin:0;font-size:16px;font-weight:700;display:flex}.modal-user .user-role{border:1px solid var(--primary);max-width:50%;color:var(--primary);overflow-wrap:anywhere;background:#ffd56a;border-radius:6px;padding:5px 8px;font-size:11px;font-weight:600}.modal-user .user-tabs{background:#e7edf2;border:1px solid #dbe3ea;border-radius:10px;flex:none;gap:4px;margin:14px 16px 0;padding:4px;display:flex}.modal-user .user-tabs button{color:#526577;min-width:0;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:7px;flex:1;justify-content:center;align-items:center;gap:5px;padding:9px 4px;font-size:12px;font-weight:600;transition:background-color .15s,color .15s;display:flex}.modal-user svg{flex-shrink:0}.modal-user .user-tabs button:hover{color:#123f60;background:#d8e4ee}.modal-user .user-tabs button[aria-selected=true]{color:#fff;background:#123f60;box-shadow:0 2px 5px #123f602e}.modal-user button:focus-visible,.modal-user .user-tab-panel:focus-visible{outline-offset:2px;outline:2px solid #2563eb}.modal-user .user-modal-content{overscroll-behavior:contain;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:#b5c4d2 transparent;flex:1;min-height:0;padding:16px;overflow-y:auto}.modal-user .user-tab-panel[hidden]{display:none}.modal-user .user-info,.modal-user .user-preferences{flex-direction:column;gap:12px;display:flex}.modal-user .user-card{overflow-wrap:anywhere;background:#fff;border:1px solid #dce5ed;border-radius:11px;flex-direction:column;gap:12px;padding:14px;font-size:13px;display:flex;box-shadow:0 3px 9px #0f172a0a}.modal-user .user-card-title{color:#294b63;align-items:center;gap:7px;margin:0;font-size:12px;font-weight:700;display:flex}.modal-user .user-details{gap:12px;margin:0;display:grid}.modal-user .user-details dt{color:#64748b;margin-bottom:3px;font-size:11px}.modal-user .user-details dd{color:#334155;margin:0}.modal-user .client-info{flex-direction:column;gap:8px;display:flex}.modal-user .client-info h3{margin:0;font-size:12px;font-weight:500}.modal-user .user-client p{margin:0}.modal-user .selected-client-badge{color:#1e40af;background:#eff6ff;border-radius:6px;align-self:flex-start;padding:4px 8px;font-size:11px}.modal-user .selected-client-info,.modal-user .user-client small{color:#64748b;line-height:1.5}.modal-user .user-footer{background:#f8fafc;border-top:1px solid #dbe3ea;border-radius:0 0 16px 16px;flex:none;padding:12px 16px}.modal-user .logout-button{color:#b91c1c;cursor:pointer;background:#fff1f2;border:1px solid #fecdd3;border-radius:8px;justify-content:center;align-items:center;gap:8px;width:100%;min-height:40px;font-size:13px;font-weight:600;transition:background-color .15s;display:flex}.modal-user .logout-button:hover{background:#ffe4e6}@media (max-width:768px){.modal-user{width:min(420px,100vw - 24px);height:min(540px,100dvh - 80px);inset:56px 12px auto auto}}@media (max-width:380px){.modal-user .user-tabs button{flex-direction:column;gap:4px;font-size:11px}}.modal-user.modal-user--calendar{width:min(780px,100vw - 96px);height:min(760px,100dvh - 24px)}.modal-user--calendar .user-modal-content{padding:14px 16px 18px}@media (max-width:768px){.modal-user.modal-user--calendar{width:min(520px,100vw - 24px);height:min(720px,100dvh - 80px)}}@media (prefers-reduced-motion:reduce){.modal-user{transition:none}}
.footer{z-index:1000;background:#14517d;height:44px;display:none;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -2px 10px #0000001f}.footer-content{width:100%}.footer-icones{color:#dcecf7;justify-content:center;align-items:center;gap:6px;padding:0 8px;display:flex}.footer-icon-button{width:48px;height:40px;color:inherit;border:1px solid #0000;border-radius:9px;flex-direction:column;flex:0 48px;justify-content:center;align-items:center;gap:1px;padding:2px;text-decoration:none;transition:background-color .18s,border-color .18s,color .18s;display:flex}.footer-icon-button svg{flex-shrink:0;width:19px;height:19px}.footer-icon-label{letter-spacing:-.1px;text-overflow:ellipsis;white-space:nowrap;max-width:44px;font-size:8px;font-weight:500;line-height:1.1;overflow:hidden}.footer-icon-button:hover{color:#fff;background:#ffffff1a}.footer-icon-button.active{color:#fff;box-shadow:none;background:#123f60;border-color:#9ac4dc}.footer-icon-button.active .footer-icon-label{font-weight:700}.footer-icon-button:focus-visible{outline-offset:2px;outline:2px solid #d7f5ff}@media (max-width:768px){.footer{justify-content:center;display:flex}.layout-wrapper{padding-bottom:60px}}@media (max-width:300px){.footer-icones{gap:4px;padding-inline:4px}.footer-icon-button{flex-basis:42px;width:42px}.footer-icon-label{max-width:38px;font-size:7px}}@media (prefers-reduced-motion:reduce){.footer-icon-button{transition:none}}
