/* CI - Experiencia movil 08: capa de mejoras no destructiva */
:root{--ci-navy:#17375f;--ci-blue:#1d5d9d;--ci-line:#dbe5ef;--ci-bg:#f3f7fc}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-bottom:110px}
body{overflow-x:hidden}
.app-shell{min-width:0}
.main-content{padding-bottom:calc(106px + env(safe-area-inset-bottom,0px))!important}
.bottom-nav{position:fixed!important;bottom:0!important;left:50%!important;transform:translateX(-50%)!important;width:100%!important;max-width:var(--ci-shell-max,540px);display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;flex-wrap:nowrap!important;gap:0!important;align-items:stretch!important;padding:8px 5px calc(8px + env(safe-area-inset-bottom,0px))!important;min-height:67px!important;background:rgba(255,255,255,.97)!important;border-top:1px solid #e0e9f3!important;z-index:80!important;box-shadow:0 -7px 22px rgba(20,42,72,.07);backdrop-filter:blur(12px)}
.bottom-nav>a{min-width:0!important;min-height:49px!important;display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:center!important;gap:3px!important;padding:5px 1px!important;text-decoration:none!important;line-height:1.1!important;white-space:nowrap!important;border-radius:10px!important}
.bottom-nav>a span{font-size:21px!important;line-height:22px!important}.bottom-nav>a small{font-size:10px!important;letter-spacing:-.15px!important;line-height:12px!important;max-width:100%;overflow:hidden;text-overflow:ellipsis}
.bottom-nav>a.active{background:#eaf2fc!important;color:#164e89!important}.bottom-nav>a:focus-visible{outline:3px solid #70a5eb;outline-offset:-3px}
@media(min-width:600px){.bottom-nav{max-width:540px}}
@media(max-width:350px){.bottom-nav>a small{font-size:9px!important}}
.ci-form input:not([type=checkbox]),.ci-form select,.form-stack input:not([type=checkbox]){font-size:16px!important;max-width:100%;min-width:0;min-height:48px}
.ci-form input:focus-visible,.ci-form select:focus-visible,.form-stack input:focus-visible{outline:2px solid #3b82c4;outline-offset:1px}
.btn,.ci-back,.action-tile{touch-action:manipulation}.btn{min-height:46px}.btn:focus-visible,.ci-back:focus-visible,.action-tile:focus-visible{outline:3px solid #72a9e8;outline-offset:2px}
button[disabled],button.ci-submitting{opacity:.7;cursor:wait!important;pointer-events:none}
.ci-income-row,.ci-report-category,.ci-report-tile,.ci-stat,.balance-card{min-width:0;overflow-wrap:anywhere}
.ci-income-row b,.ci-report-head b,.balance-number{font-variant-numeric:tabular-nums}
.ci-negative{color:#b42332!important}.notice{position:relative;border-radius:14px!important;padding:14px 40px 14px 15px!important;border:1px solid transparent;line-height:1.5;overflow-wrap:anywhere}
.notice.success{background:#e8f7ee!important;border-color:#bce9cf!important;color:#135c38!important}
.notice.error{background:#fff0ef!important;border-color:#f2c3c1!important;color:#8d2424!important}
.notice.warning{background:#fff7e6!important;border-color:#f2dbab!important;color:#78520d!important}
.notice strong{display:block;margin-bottom:3px}.ci-notice-close{position:absolute;right:7px;top:7px;border:0;background:transparent;color:inherit;font-size:22px;line-height:1;width:32px;height:32px;border-radius:9px;cursor:pointer}
.ci-notice-close:focus-visible{outline:2px solid currentColor}
.ci-notice-stack{display:grid;gap:8px;margin-bottom:12px}
@media(prefers-reduced-motion:no-preference){.btn,.action-tile,.bottom-nav>a{transition:background-color .15s ease,transform .15s ease}.btn:active,.action-tile:active{transform:scale(.99)}}
