/* DeBuin identity shared by the public directory and private portals. */
:root {
  --db-accent: #d92f59;
  --db-accent-hover: #bb2047;
  --db-dark: #172b4d;
  --db-soft: #f2f4f7;
  --db-bg: #f5f7fa;
  --db-line: #dfe5ec;
  --db-input: #ccd5df;
  --db-text: #202c3e;
  --db-muted: #576579;
  --db-green: #17694b;
  --db-radius: 13px;
}
.debuin, .db-owner-shell { color-scheme: light; }
.debuin :focus-visible, .db-owner-shell :focus-visible {
  outline: 3px solid var(--db-accent);
  outline-offset: 3px;
}
.debuin button:disabled, .db-owner-shell button:disabled { cursor: wait; opacity: .65; }
.debuin input, .debuin select, .debuin textarea,
.db-owner-shell input, .db-owner-shell select, .db-owner-shell textarea { accent-color: var(--db-accent); }
.debuin a, .db-owner-shell a { overflow-wrap: anywhere; }
.db-skip-link { position: absolute; left: 16px; top: -100px; z-index: 100; padding: 12px 18px; background: #fff; color: var(--db-accent); border: 1px solid var(--db-accent); border-radius: 8px; }
.db-skip-link:focus { top: 12px; }
@media (prefers-reduced-motion: reduce) {
  .debuin *, .db-owner-shell * { scroll-behavior: auto !important; transition: none !important; }
}

/* Filled contact icons supplied by the client; scoped against generic SVG rules. */
svg.db-ui-icon-filled,svg.db-ui-icon-filled path{fill:currentColor!important;stroke:none!important;stroke-width:0!important}
svg.db-ui-icon-color,svg.db-ui-icon-color path{stroke:none!important;stroke-width:0!important}
svg.db-ui-icon{aspect-ratio:1;flex-shrink:0}

/* Impulso cards: solid brand surface, one brief pulse per interaction. */
.db-owner-shell .db-plan-owner-grid .is-featured,.debuin .db-plan-featured{position:relative;isolation:isolate;background:var(--db-accent);border-color:var(--db-accent);color:#fff}
.db-owner-shell .db-plan-owner-grid .is-featured h2,.db-owner-shell .db-plan-owner-grid .is-featured .db-plan-label,.debuin .db-plan-featured h2,.debuin .db-plan-featured p,.debuin .db-plan-featured ul,.debuin .db-plan-featured .db-plan-label{color:#fff}
.db-owner-shell .db-plan-owner-grid .is-featured .db-primary,.debuin .db-plan-featured .db-button{background:#fff;color:#b21f44;border:1px solid #fff;box-shadow:none}
.db-owner-shell .db-plan-owner-grid .is-featured .db-primary:hover,.debuin .db-plan-featured .db-button:hover{background:#fff1f5;color:#8d1634}
.db-owner-shell .db-plan-owner-grid .is-featured a{color:#fff;text-decoration:underline;text-underline-offset:3px}
.db-owner-shell .db-plan-owner-grid .is-featured .db-plan-pending,.db-owner-shell .db-plan-owner-grid .is-featured .db-plan-active{background:#fff;color:var(--db-text);padding:12px;border-radius:10px}
.db-owner-shell .db-plan-owner-grid .is-featured :focus-visible,.debuin .db-plan-featured :focus-visible{outline-color:#fff;outline-offset:4px}
[data-plan-card]::after{content:"";position:absolute;inset:-4px;border-radius:inherit;border:2px solid transparent;pointer-events:none}
[data-plan-card].is-plan-pulse::after{animation:db-plan-border .55s ease-out}
@keyframes db-plan-border{0%{border-color:var(--db-accent);box-shadow:0 0 0 0 #d92f5955;clip-path:inset(0 100% 0 0)}45%{clip-path:inset(0);box-shadow:0 0 0 4px #d92f5922}100%{border-color:transparent;box-shadow:0 0 0 8px #d92f5900;clip-path:inset(0)}}
@media(prefers-reduced-motion:reduce){[data-plan-card].is-plan-pulse::after{animation:none;border-color:var(--db-accent)}.debuin *, .db-owner-shell *{animation-duration:.01ms!important;animation-iteration-count:1!important}}
