:root{--cf27-focus:#7c3aed;--cf27-focus-offset:#fff}
*:focus-visible{outline:3px solid var(--cf27-focus)!important;outline-offset:3px!important}
html{scroll-padding-top:84px;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{overflow-wrap:anywhere}
body.has-open-modal{overflow:hidden!important;touch-action:none}
button,a,[role="button"],input[type="button"],input[type="submit"],input[type="checkbox"],input[type="radio"],select{min-height:44px}
button,a,[role="button"]{touch-action:manipulation}
input,select,textarea{font-size:16px;max-width:100%}
img,svg,video,canvas{max-width:100%;height:auto}
.modal-card,.dialog,.nova36-modal,[role="dialog"][aria-modal="true"]:not(.modal){max-width:min(94vw,760px);max-height:90dvh;overflow:auto;overscroll-behavior:contain;box-sizing:border-box}
.modal{max-width:none!important;max-height:none!important;overflow:hidden!important}
.modal-card>.close{position:sticky!important;top:0!important;right:0!important;z-index:20!important;float:right;display:grid!important;place-items:center;width:44px;height:44px;min-height:44px;margin:-8px -8px 2px 10px!important;border-radius:999px!important;background:var(--panel,#fff)!important;color:var(--text,#21133f)!important;box-shadow:0 5px 18px rgba(33,19,63,.18)}
.gift32-catalog-card>img,.gift-card>img,.nova36-gift-row>img{display:block;width:100%!important;height:220px!important;max-height:220px;object-fit:contain!important;background:#f6f0ff}
.gift32-catalog-placeholder,.gift-image-fallback{display:grid;place-items:center;width:100%;height:220px;min-height:220px;background:linear-gradient(145deg,#f7f2ff,#eee4ff);color:#6f2bd8;font-size:54px}
[aria-disabled="true"]{cursor:not-allowed;opacity:.72}
.sr-only,.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media (max-width:768px){
  body{min-width:0!important}
  #app,.app,.page,.content,.main,.main-content,.nova36-shell,.nova36-content{min-width:0!important;max-width:100%!important}
  .grid,.cards,.card-grid,.nova36-grid,.admin-grid{grid-template-columns:minmax(0,1fr)!important}
  table{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .toolbar,.actions,.button-row,.nova36-actions,.admin-actions{flex-wrap:wrap!important;gap:8px!important}
  .toolbar>* ,.actions>* ,.button-row>*{max-width:100%}
  .modal.open{width:100vw!important;height:100dvh!important;max-width:none!important;max-height:none!important;margin:0!important;padding:max(10px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left))!important;box-sizing:border-box!important;place-items:center!important}
  .modal-card{width:min(100%,560px)!important;max-width:100%!important;max-height:calc(100dvh - max(20px,env(safe-area-inset-top) + env(safe-area-inset-bottom)))!important;margin:0!important;padding:18px!important;border-radius:20px!important;overflow-x:hidden!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch}
  .modal-card .form-grid{grid-template-columns:minmax(0,1fr)!important}
  .modal-card .full-span{grid-column:1!important}
  .gift32-catalog-card>img,.gift-card>img,.nova36-gift-row>img,.gift32-catalog-placeholder,.gift-image-fallback{height:190px!important;min-height:190px;max-height:190px}
}
@media (max-width:390px){
  body{font-size:16px}
  h1{font-size:clamp(1.5rem,8vw,2rem)}
  h2{font-size:clamp(1.25rem,6vw,1.65rem)}
  .card,.panel,.section,.nova36-card{padding-left:14px!important;padding-right:14px!important}
  .modal-card{width:100%!important}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
@media (prefers-contrast:more){*:focus-visible{outline-width:4px!important}button,a,[role="button"],input,select,textarea{border-width:2px!important}}


/* Feedback mobile 10/09/2026: ações de pendência e continuidade em Presentes */
.task-data-row .task-resolve-action{white-space:nowrap}
@media (max-width:760px){
  .task-data-row:has(.task-resolve-action){grid-template-columns:auto minmax(0,1fr)!important;align-items:start}
  .task-data-row:has(.task-resolve-action)>div,.task-data-row:has(.task-resolve-action)>.tag,.task-data-row:has(.task-resolve-action)>.task-resolve-action{grid-column:2}
  .task-data-row .task-resolve-action{width:100%;justify-content:center;margin-top:2px}
  .task-data-row:has(.task-resolve-action)>.edit-task,.task-data-row:has(.task-resolve-action)>.delete-task{grid-column:auto}
}

/* RC7 reconciliation: teclado e recuperação de conta */
a.sr-only:focus,a.visually-hidden:focus{position:fixed!important;inset:12px auto auto 12px!important;z-index:10000;width:auto!important;max-width:calc(100vw - 24px);height:auto!important;margin:0!important;padding:12px 16px!important;overflow:visible!important;clip:auto!important;clip-path:none!important;white-space:normal!important;background:#fff;color:#29123d;border-radius:8px;box-sizing:border-box}
.auth-recovery-card>label{display:grid;gap:8px;margin-block:16px}
.auth-recovery-card>label>input{width:100%;box-sizing:border-box}

