/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.grid{display:grid}.hidden{display:none}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{--ink:#172033;--muted:#596579;--paper:#f6f8fb;--white:#fff;--brand:#173e68}*{box-sizing:border-box}html{background:var(--paper);max-width:100%;overflow-x:hidden}body{max-width:100%;color:var(--ink);background:radial-gradient(circle at 50% -10%,#fff 0,#0000 42%),#e9eef5;margin:0;font-family:Arial,Helvetica,sans-serif;overflow-x:hidden}button{font:inherit}.app-shell{width:min(100%,780px);min-height:100svh;padding:max(28px, env(safe-area-inset-top)) max(28px, env(safe-area-inset-right)) max(22px, env(safe-area-inset-bottom)) max(28px, env(safe-area-inset-left));flex-direction:column;margin:0 auto;display:flex}.topbar{justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;display:flex}.brand-block{align-items:center;gap:15px;min-width:0;display:flex}.brand-logo{object-fit:cover;border:3px solid #fff;border-radius:24%;flex:none;width:78px;height:78px;box-shadow:0 7px #aab8c8,0 14px 23px #1720333d}.brand-copy{min-width:0}.app-name{width:fit-content;color:var(--brand);letter-spacing:.055em;text-shadow:0 2px #fff,0 5px 12px #173e682e;margin:0;font-size:clamp(32px,5.5vw,46px);font-weight:950;line-height:.98;position:relative}.app-name:after{content:"";background:linear-gradient(90deg,#f5b938,#ef7e32);border-radius:999px;width:58%;height:5px;margin-top:7px;display:block;box-shadow:0 2px #a6581442}.app-context{color:#52647a;align-items:center;gap:7px;margin:8px 0 0;font-size:17px;font-weight:800;line-height:1.1;display:flex}.app-context span{color:#245886;letter-spacing:.12em;font-size:13px;font-weight:950}.app-context b{color:#e18a2e}.header-actions{flex:none;align-items:center;gap:10px;display:flex}.settings-button,.listen-button{min-height:54px;color:var(--brand);background:linear-gradient(#fff 0%,#edf3f8 100%);border:2px solid #aebdce;border-radius:18px;align-items:center;gap:8px;padding:0 17px;font-size:13px;font-weight:900;display:flex;box-shadow:inset 0 2px #fff,0 4px #a7b6c6,0 9px 18px #1720332e}.settings-button{color:#25324a}.gear-icon{color:#fff;text-shadow:0 2px 1px #00000047;background:linear-gradient(145deg,#3477ae,#173e68);border:2px solid #173e68;border-radius:12px;flex:0 0 34px;place-items:center;width:34px;height:34px;font-size:25px;line-height:1;display:grid;box-shadow:inset 0 2px #ffffff47,0 3px #0e2945,0 6px 10px #173e683d}.listen-button.is-muted{color:#5a6470;background:linear-gradient(#f4f5f6,#d9dee4);border-color:#9ba5b1;box-shadow:inset 0 2px #fff,0 4px #8f99a4,0 9px 18px #17203326}.listen-button.is-muted .sound-icon{background:linear-gradient(145deg,#8b96a2,#59636f)}.listen-button.is-muted .sound-icon:after{background:#fff;border:0;border-radius:999px;width:4px;height:28px;top:3px;right:15px;transform:rotate(-42deg);box-shadow:0 0 0 2px #464e5859}.sound-icon{color:#fff;filter:drop-shadow(0 1px #ffffff4d);background:radial-gradient(circle at 32% 22%,#5faee6 0 7%,#0000 8%),linear-gradient(145deg,#2f76ad 0%,#17466f 54%,#0d2d4c 100%);border:1px solid #ffffff8c;border-radius:12px;flex:0 0 34px;width:34px;height:34px;display:inline-block;position:relative;box-shadow:inset 0 2px 2px #ffffff61,inset 0 -3px 4px #03182b6b,0 3px 6px #0c2e4c47}.sound-icon:before{content:"";clip-path:polygon(0 29%,38% 29%,100% 0,100% 100%,38% 71%,0 71%);filter:drop-shadow(0 1px 1px #00000047);background:currentColor;width:12px;height:14px;position:absolute;top:10px;left:6px}.sound-icon:after{content:"";border:3px solid #0000;border-right-color:currentColor;border-radius:50%;width:12px;height:20px;position:absolute;top:7px;right:5px;box-shadow:3px 0 0 -1px}.listen-button:active .sound-icon{transform:scale(.94)}.action-grid{flex:1;grid-template-rows:repeat(3,minmax(126px,1fr));grid-template-columns:repeat(2,1fr);gap:16px;display:grid}.service-slider{scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;touch-action:pan-x pan-y;flex:1;width:100%;display:flex;overflow:auto hidden}.service-slider::-webkit-scrollbar{display:none}.service-page{scroll-snap-align:start;min-width:100%}.page-dots{justify-content:center;gap:11px;padding:10px 0 1px;display:flex}.page-dots button{background:#fff;border:2px solid #173e68;border-radius:50%;width:13px;height:13px;padding:0;box-shadow:0 2px 4px #17203329}.page-dots button.active{background:#173e68}.arrange-hint{color:#52647a;letter-spacing:.055em;text-align:center;margin:6px 0 -3px;font-size:10px;font-weight:950}.arrange-hint span{color:#173e68;margin-right:5px;font-size:15px}.action-symbol{background:#ffffffb8;border:3px solid #ffffffe0;border-radius:29%;place-items:center;width:clamp(72px,13svh,112px);height:clamp(72px,13svh,112px);font-size:clamp(40px,8svh,68px);line-height:1;display:grid;box-shadow:inset 0 -5px #1720331f,0 10px 16px #1720333b}.sos-symbol{color:#b51626;border-radius:50%;font-size:24px;font-weight:950}.detail-symbol{font-size:42px;font-weight:950}.action-card{min-height:154px;color:var(--ink);letter-spacing:.01em;box-shadow:inset 0 2px 0 #ffffffe6, inset 0 -4px 0 rgb(var(--card-shadow) / 16%), 0 7px 0 rgb(var(--card-shadow) / 38%), 0 17px 28px #17203338;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;border:3px solid #0000;border-radius:27px;flex-direction:column;justify-content:center;align-items:center;gap:8px;font-family:inherit;font-size:clamp(20px,4vw,27px);font-weight:950;text-decoration:none;transition:transform .12s,box-shadow .12s;display:flex}.action-card small{color:#754805;letter-spacing:.08em;margin-top:-4px;font-size:11px;font-weight:950}.action-card.coming-soon{--card-shadow:112 126 143;color:#5d6b7b;cursor:not-allowed;opacity:.82;background:#fff;border-color:#c5cfda;box-shadow:inset 0 2px #fff,inset 0 -4px #707e8f1a,0 7px #707e8f40,0 17px 28px #17203324}.action-card.coming-soon strong{text-align:center;max-width:95%;font-size:clamp(16px,3.2vw,22px);line-height:1.08}.action-card.coming-soon small{color:#7b8795;margin-top:0}.action-card.coming-soon:active{transform:none}@media (hover:hover){.action-card.coming-soon:hover{transform:none}}.feria-service-card>span{text-align:center;max-width:95%;font-size:clamp(15px,3.2vw,21px);line-height:1.08}.feria-service-card small{color:#245d76}.weather-service-card>span{text-align:center;max-width:96%;font-size:clamp(16px,3.5vw,22px);line-height:1.08}.intercity-service-card>span{text-align:center;max-width:96%;font-size:clamp(16px,3.4vw,22px);line-height:1.08}.intercity-service-card small{color:#754805;letter-spacing:.04em;text-align:center;font-size:10px}.action-card:active{box-shadow:inset 0 2px 0 #ffffffc7, inset 0 -2px 0 rgb(var(--card-shadow) / 15%), 0 2px 0 rgb(var(--card-shadow) / 42%), 0 7px 13px #1720332e;transform:translateY(5px)scale(.985)}:is(.action-card:focus-visible,.settings-button:focus-visible,.listen-button:focus-visible,.emergency-button:focus-visible){outline-offset:3px;outline:5px solid #111827}.action-icon{object-fit:contain;filter:drop-shadow(0 10px 8px #17203347);width:clamp(72px,13svh,118px);height:clamp(72px,13svh,118px)}.bus-feria-card-icon{width:clamp(112px,18svh,150px);height:clamp(65px,10svh,90px)}.intercity-bus-card-icon{object-fit:contain;width:clamp(120px,19svh,160px);height:clamp(66px,10svh,88px)}.feria-luz-card-icon{width:clamp(78px,12svh,106px);height:clamp(94px,15svh,132px)}.action-icon.radio-tarifa-card-icon{filter:drop-shadow(0 7px 7px #17203333);border-radius:11px;width:clamp(132px,21svh,174px);height:clamp(42px,6.5svh,58px)}.action-icon.rtv-tarifa-card-icon{filter:drop-shadow(0 7px 7px #17203333);border-radius:12px;width:clamp(120px,18svh,158px);height:clamp(74px,11svh,96px)}.blue{--card-shadow:45 103 151;background:linear-gradient(145deg,#eef8ff,#c5e2fa);border-color:#6ba9d9}.green{--card-shadow:42 118 72;background:linear-gradient(145deg,#effbf2,#c8ebd2);border-color:#68ad7d}.amber{--card-shadow:173 105 10;background:linear-gradient(145deg,#fff9e8,#ffdda0);border-color:#d3912e}.purple{--card-shadow:98 73 160;background:linear-gradient(145deg,#f7f3ff,#ddd0ff);border-color:#9176d1}.yellow{--card-shadow:152 119 7;background:linear-gradient(145deg,#fffde8,#f9e78e);border-color:#c5a626}.orange{--card-shadow:163 76 30;background:linear-gradient(145deg,#fff5ee,#ffcdaa);border-color:#cf8150}.teal{--card-shadow:20 111 112;background:linear-gradient(145deg,#efffff,#bfe8e5);border-color:#4aa3a1}.red{--card-shadow:161 27 44;background:linear-gradient(145deg,#fff4f5,#ffc5cb);border-color:#c42b3d}.pink{--card-shadow:151 55 101;background:linear-gradient(145deg,#fff5fb,#f4c8dc);border-color:#bb6a91}.navy{--card-shadow:36 67 112;background:linear-gradient(145deg,#f3f7ff,#c9d8ef);border-color:#6685b3}.sand{--card-shadow:130 83 43;background:linear-gradient(145deg,#fffaf1,#ead6b8);border-color:#b98957}.cyan{--card-shadow:28 103 134;background:linear-gradient(145deg,#f1fbff,#bfe6f2);border-color:#5198b5}.weather{--card-shadow:21 91 139;background:linear-gradient(145deg,#f2fbff,#b9e1f8);border-color:#3e93c8}.radio{--card-shadow:102 48 124;background:linear-gradient(145deg,#fff5ff,#e7c5f1);border-color:#a269b5}.tv{--card-shadow:33 79 137;background:linear-gradient(145deg,#f3f8ff,#c6daf3);border-color:#5c88bd}.calendar{--card-shadow:36 77 112;background:linear-gradient(145deg,#f5fbff,#c7e4ef);border-color:#4c8aa4}.calendar-service-card>span:last-of-type{text-align:center;max-width:96%;font-size:clamp(15px,3.1vw,21px);line-height:1.05}.calendar-card-icon{color:#173e68;background:linear-gradient(#e05a4e 0 28%,#fff 28% 100%);border:4px solid #173e68;border-radius:20px;place-items:center;width:clamp(76px,12svh,108px);height:clamp(76px,12svh,108px);display:grid;position:relative;overflow:hidden;box-shadow:inset 0 -5px #dce7ef,0 9px #9db4c5,0 17px 23px #1720333d}.calendar-card-icon:before,.calendar-card-icon:after{content:"";background:#fff;border:3px solid #173e68;border-radius:7px;width:10px;height:24px;position:absolute;top:-6px}.calendar-card-icon:before{left:20%}.calendar-card-icon:after{right:20%}.calendar-card-icon b{margin-top:22%;font-size:clamp(36px,6svh,56px);font-weight:950;line-height:1}.calendar-detail-icon{border-radius:21px;width:94px;height:94px;box-shadow:inset 0 -4px #dce7ef,0 7px #9db4c5,0 14px 20px #17203333}@media (hover:hover){.action-card:hover{transform:translateY(-2px)}}.emergency-button{color:#fff;text-align:left;background:linear-gradient(#dc2c3e 0%,#b91426 100%);border:3px solid #a81221;border-radius:25px;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;width:100%;min-height:96px;margin-top:17px;padding:14px 18px;transition:transform .12s,box-shadow .12s;display:grid;box-shadow:inset 0 2px #ffffff47,inset 0 -4px #5b000a52,0 7px #8f1320,0 17px 30px #9b0c1d5c}.emergency-button:active{transform:translateY(5px);box-shadow:inset 0 2px #ffffff2e,0 2px #8f1320,0 7px 13px #9b0c1d42}.sos-icon{color:#b51626;background:#fff;border-radius:50%;place-items:center;width:61px;height:61px;font-size:18px;font-weight:950;display:grid;box-shadow:inset 0 -3px #e3e8ee,0 5px 10px #46000a42}.emergency-button strong{letter-spacing:.02em;font-size:24px;display:block}.emergency-button small{opacity:.9;margin-top:3px;font-size:14px;font-weight:700;display:block}.arrow{font-size:43px;font-weight:300}.utility-row{grid-template-columns:1fr auto;gap:10px;margin-top:12px;display:grid}.utility-row button{color:#25324a;background:linear-gradient(#fff 0%,#e9eff5 100%);border:2px solid #9eafc2;border-radius:17px;min-height:54px;padding:0 16px;font-size:14px;font-weight:900;transition:transform .12s,box-shadow .12s;box-shadow:inset 0 2px #fff,0 4px #a7b4c2,0 9px 17px #1720332b}.utility-row button:active{transform:translateY(3px);box-shadow:inset 0 1px #fff,0 1px #a7b4c2,0 4px 8px #17203324}:is(.utility-row button:focus-visible,.detail-panel button:focus-visible,.detail-panel a:focus-visible){outline-offset:3px;outline:5px solid #111827}.utility-row .install-button{color:#fff;background:linear-gradient(#245886 0%,#173e68 100%);border-color:#173e68;box-shadow:inset 0 2px #ffffff38,0 4px #0e2945,0 9px 17px #173e6842}.app-footer{text-align:center;margin:3px 0 0}.footer-links{justify-content:center;gap:8px;display:flex}.privacy-link{color:#607086;text-underline-offset:2px;align-items:center;min-height:44px;padding:0 12px;font-size:11px;font-weight:800;display:inline-flex}.modal-backdrop{z-index:20;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#10192a94;place-items:end center;padding:20px;display:grid;position:fixed;inset:0}.detail-panel{background:#fff;border:1px solid #d9e0e9;border-radius:32px;width:min(100%,640px);max-height:calc(100svh - 40px);padding:30px;animation:.2s ease-out panel-in;position:relative;overflow:auto;box-shadow:0 26px 80px #0a14284d}.move-service-backdrop{z-index:45;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0d1829b8;place-items:center;padding:14px;display:grid;position:fixed;inset:0}.move-service-panel{background:#f9fcff;border:2px solid #bdd0df;border-radius:29px;width:min(100%,900px);max-height:calc(100svh - 28px);padding:24px 18px 18px;animation:.18s ease-out panel-in;position:relative;overflow:auto;box-shadow:0 28px 80px #040d1b6b}.move-service-close{color:#1d2c40;background:#e8edf3;border:0;border-radius:50%;width:44px;height:44px;font-size:32px;line-height:1;position:absolute;top:13px;right:13px}.move-service-kicker{color:#356a91;letter-spacing:.11em;font-size:10px;font-weight:950}.move-service-panel>h2{color:#172a42;margin:6px 48px 5px 0;font-size:clamp(25px,6vw,34px);line-height:1.08}.move-service-panel>p{color:#56687c;margin:0 42px 15px 0;font-size:13px;font-weight:750;line-height:1.4}.move-service-panel>p strong{color:#173e68}.move-screen-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.move-screen-list>section{background:#edf5fb;border:2px solid #9fb6ca;border-radius:21px;padding:11px;box-shadow:inset 0 2px #fff,0 5px #bdcbd7}.move-screen-list h3{color:#2c587b;letter-spacing:.06em;text-align:center;margin:0 0 8px;font-size:12px}.move-position-grid{grid-template-columns:1fr 1fr;gap:7px;display:grid}.move-position-grid button{color:#24384f;background:#fff;border:2px solid #b7c6d3;border-radius:15px;flex-direction:column;justify-content:center;align-items:center;min-width:0;min-height:102px;padding:9px 4px 7px;display:flex;position:relative;box-shadow:0 3px #b1c0cc}.move-position-grid button:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px #b1c0cc}.move-position-grid button.is-source{color:#194b34;opacity:1;background:#dff3e8;border-color:#2f7e5a;box-shadow:inset 0 0 0 2px #a5d2b9}.move-position-grid button.is-empty{color:#42647f;background:#f4f9fd;border-style:dashed;border-color:#7f9bb2}.move-position-grid b{color:#fff;background:#173e68;border-radius:50%;place-items:center;width:23px;height:23px;font-size:12px;display:grid;position:absolute;top:5px;left:5px}.move-position-grid .is-source b{background:#27734e}.move-position-grid img,.move-position-grid button>span{object-fit:contain;filter:drop-shadow(0 4px 4px #13253826);place-items:center;width:48px;height:48px;font-size:27px;display:grid}.move-position-grid strong{text-align:center;text-overflow:ellipsis;max-width:100%;margin-top:4px;font-size:9px;line-height:1.05;overflow:hidden}.move-service-cancel{color:#33475c;background:#eef2f6;border:2px solid #8397a9;border-radius:15px;width:100%;min-height:49px;margin-top:15px;font-size:12px;font-weight:950;box-shadow:0 3px #a6b2bd}@keyframes panel-in{0%{opacity:0;transform:translateY(25px)}}.close-button{color:#202b3d;background:#eef1f5;border:0;border-radius:50%;width:50px;height:50px;font-size:35px;line-height:1;position:absolute;top:20px;right:20px}.detail-icon{object-fit:contain;filter:drop-shadow(0 7px 7px #17203324);border:3px solid #0000;border-radius:26px;place-items:center;width:88px;height:88px;padding:5px;display:grid}.bus-feria-detail-icon{width:138px;height:82px;padding:8px}.detail-icon.feria-luz-detail-icon{background:0 0;border:0;width:106px;height:132px;padding:0}.detail-icon.radio-tarifa-detail-icon{border-radius:18px;width:180px;height:66px;padding:6px}.detail-icon.rtv-tarifa-detail-icon{border-radius:20px;width:138px;height:92px;padding:5px}.detail-icon.intercity-bus-detail-icon{background:0 0;border:0;border-radius:0;width:188px;height:104px;padding:0}.detail-icon.blue{border-color:#b9daf8}.detail-icon.green{border-color:#b8e3c4}.detail-icon.amber{border-color:#f0d294}.detail-icon.purple{border-color:#d4c5fb}.detail-icon.yellow{border-color:#eadb7f}.detail-icon.orange{border-color:#efc2a7}.detail-icon.sand{background:#fffaf2;border-color:#d7b78e}.detail-icon.cyan{background:#f4fcff;border-color:#9dcedf}.detail-icon.weather{background:#edf9ff;border-color:#78b8de}.detail-icon.radio{background:#fff6ff;border-color:#c99bd7}.detail-icon.tv{background:#f3f8ff;border-color:#7da4ce}.detail-kicker{color:var(--brand);letter-spacing:.1em;margin:22px 0 5px;font-size:13px;font-weight:950}.detail-panel h2{letter-spacing:-.035em;margin:0;padding-right:45px;font-size:clamp(30px,7vw,44px);line-height:1.04}.detail-description{color:var(--muted);margin:10px 0 22px;font-size:19px;line-height:1.45}.tarifa-calendar,.calendar-title-row,.calendar-scroll,.calendar-month-content{width:100%;min-width:0;max-width:100%}.tarifa-calendar{margin-top:3px}.calendar-home-link{color:#29445d;background:#f7fafc;border:2px solid #aebfce;border-radius:14px;align-items:center;min-height:46px;margin:0 0 13px;padding:7px 13px;font-size:11px;font-weight:950;text-decoration:none;display:inline-flex;box-shadow:0 3px #c3cdd6}.calendar-home-link:focus-visible{outline-offset:2px;outline:5px solid #111827}.calendar-title-row{place-items:center;min-height:54px;display:grid;position:relative;overflow:hidden}.calendar-current-month{color:#173e68;overflow-wrap:anywhere;text-align:center;max-width:calc(100% - 88px);margin:4px clamp(44px,14vw,54px) 8px;font-size:clamp(22px,7vw,39px);line-height:1.05}.calendar-month-arrow{color:#173e68;background:#f7fbff;border:2px solid #829bb2;border-radius:50%;place-items:center;width:clamp(44px,12vw,46px);height:clamp(44px,12vw,46px);padding:0;font-size:clamp(32px,10vw,38px);font-weight:900;line-height:.8;display:grid;position:absolute;top:1px;box-shadow:inset 0 2px #fff,0 3px #afbdc9}.calendar-month-arrow.previous{left:0}.calendar-month-arrow.next{right:0}.calendar-month-arrow:disabled{opacity:.32;box-shadow:none}.calendar-month-arrow:focus-visible{outline-offset:2px;outline:5px solid #111827}.calendar-swipe-help{color:#637485;text-align:center;margin:2px 0 5px;font-size:11px;font-weight:850}.calendar-scroll{overscroll-behavior-x:contain;touch-action:pan-y;border-radius:18px;padding:clamp(2px,1vw,5px) clamp(1px,.4vw,3px) 12px;overflow:hidden visible}.calendar-scroll:focus-visible{outline-offset:2px;outline:4px solid #111827}.calendar-month-content.slide-next{animation:.17s ease-out calendar-slide-next}.calendar-month-content.slide-previous{animation:.17s ease-out calendar-slide-previous}@keyframes calendar-slide-next{0%{opacity:.62;transform:translate(28px)}to{opacity:1;transform:translate(0)}}@keyframes calendar-slide-previous{0%{opacity:.62;transform:translate(-28px)}to{opacity:1;transform:translate(0)}}.calendar-weekdays,.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:clamp(2px,.7vw,5px);width:100%;min-width:0;max-width:100%;display:grid}.calendar-weekdays{margin-bottom:5px}.calendar-weekdays span{color:#53677a;text-align:center;min-width:0;font-size:clamp(10px,3vw,13px);font-weight:950}.calendar-empty-day{min-width:0;min-height:clamp(64px,20vw,76px)}.calendar-day{color:#18283b;background:#fff;border:2px solid #b8c8d5;border-radius:clamp(8px,3vw,14px);flex-direction:column;justify-content:center;align-items:center;gap:clamp(3px,1vw,5px);width:100%;min-width:0;max-width:100%;min-height:clamp(68px,21vw,82px);padding:clamp(3px,1vw,5px) 1px;display:flex;box-shadow:inset 0 2px #fff,0 3px #bdc9d3,0 7px 10px #1720331a}.calendar-day>strong{white-space:nowrap;font-variant-numeric:tabular-nums;max-width:100%;font-size:clamp(30px,9vw,38px);font-weight:950;line-height:.9}.calendar-day.is-national-holiday{color:#fff;background:#b7132d;border-color:#760a1c;box-shadow:inset 0 2px #ffffff3d,0 3px #760a1c,0 8px 13px #760a1c47}.calendar-day.is-local-holiday{color:#fff;background:#642c98;border-color:#3d1767;box-shadow:inset 0 2px #ffffff3d,0 3px #3d1767,0 8px 13px #3d17674d}.calendar-day.is-national-holiday .badge-national,.calendar-day.is-local-holiday .badge-national{color:#8e0d23;background:#fff}.calendar-day.is-local-holiday .badge-local{color:#55217f;background:#fff}.calendar-day.is-national-holiday .badge-school,.calendar-day.is-national-holiday .badge-non-school,.calendar-day.is-local-holiday .badge-school,.calendar-day.is-local-holiday .badge-non-school{background:#121f31b8;border:1px solid #fffc}.calendar-day.is-today{outline-offset:1px;background:#eaf5ff;border:4px solid #fff;outline:4px solid #173e68;box-shadow:inset 0 0 0 2px #173e68,0 4px #173e68,0 8px 13px #173e683d}.calendar-day.is-national-holiday.is-today{background:#b7132d}.calendar-day.is-local-holiday.is-today{background:#642c98}.calendar-day.is-today>strong:after{content:"HOY";color:currentColor;letter-spacing:.08em;text-align:center;margin-top:4px;font-size:8px;display:block}:is(.calendar-day:focus-visible,.calendar-back-button:focus-visible){outline-offset:2px;outline:5px solid #111827}.calendar-day-badges{flex-wrap:wrap;justify-content:center;align-items:center;gap:2px;width:100%;min-width:0;min-height:17px;display:flex}.calendar-day-badges b,.calendar-legend b{color:#fff;overflow-wrap:anywhere;border-radius:5px;place-items:center;min-width:clamp(14px,4vw,18px);max-width:100%;min-height:16px;padding:2px clamp(2px,.7vw,4px);font-size:clamp(7px,2.2vw,8px);font-weight:950;line-height:1;display:inline-grid}.badge-national{background:#c52335}.badge-local{background:#7042a3}.badge-event{background:#9a6900}.badge-school{background:#2879a8}.badge-non-school{background:#678}.calendar-legend{background:#f8fbfd;border:2px solid #c7d3dd;border-radius:16px;grid-template-columns:1fr 1fr;gap:9px;margin-top:7px;padding:12px;display:grid}.calendar-legend span{color:#42566b;align-items:center;gap:6px;font-size:11px;font-weight:850;display:flex}.calendar-legend b{flex:none}.calendar-school-help{color:#42566b;text-align:center;margin:10px 3px 0;font-size:11px;font-weight:850;line-height:1.45}.calendar-pending-note{color:#5c6877;margin:12px 3px 0;font-size:11px;font-weight:750;line-height:1.45}.calendar-listen-action{margin-top:12px}.calendar-listen-action button{min-height:53px}.calendar-day-detail{padding-top:2px}.calendar-back-button{color:#29445d;background:#f5f8fb;border:2px solid #9fb2c3;border-radius:16px;min-height:52px;padding:8px 15px;font-size:13px;font-weight:950;box-shadow:0 4px #bbc7d2}.calendar-huge-day{color:#173e68;text-align:center;text-shadow:0 4px #d7e1e9;margin:16px 0 0;font-size:clamp(82px,24vw,124px);font-weight:950;line-height:.78}.calendar-day-detail>h3{color:#24384f;text-align:center;margin:14px 0 18px;font-size:clamp(24px,6vw,34px);line-height:1.12}.calendar-detail-card{background:#f7fafc;border:3px solid #aebecd;border-radius:21px;margin-top:12px;padding:17px;box-shadow:inset 0 2px #fff,0 5px #c2cdd6,0 11px 18px #1720331c}.calendar-detail-card>span{color:#49627a;letter-spacing:.075em;font-size:10px;font-weight:950;display:block}.calendar-detail-card>strong{color:#1c3148;margin-top:5px;font-size:clamp(22px,5.6vw,31px);line-height:1.1;display:block}.calendar-detail-card p{color:#56687a;margin:7px 0 0;font-size:14px;font-weight:750;line-height:1.4}.saint-card{background:linear-gradient(145deg,#fffdf4,#f7e6b8);border-color:#bd8d31;box-shadow:inset 0 2px #fff,0 5px #c8a252,0 11px 18px #67460c24}.entry-national{background:#fff3f5;border-color:#c84a58}.entry-local{background:#f9f3ff;border-color:#8a64b5}.entry-event{background:#fff9e8;border-color:#b88620}.entry-school,.school-detail-card.is-school{background:#eef9ff;border-color:#4d98bf}.school-detail-card.is-non-school{background:#f0f4f7;border-color:#8796a6}.calendar-no-events{color:#596878;text-align:center;background:#edf2f6;border-radius:14px;margin:13px 0;padding:13px;font-size:13px;font-weight:800}.calendar-day-actions{margin-top:17px}.calendar-day-actions a{min-height:53px;font-size:12px}.detail-actions{gap:11px;display:grid}.detail-actions.two-columns{grid-template-columns:1fr 1fr}.radio-error-note{color:#a61d2d;font-weight:850}.detail-actions button,.detail-actions a,.primary-detail-action,.speak-wide,.emergency-options button,.emergency-options a,.confirm-view a,.cancel-call{color:#1d2a40;text-align:center;background:#f7f9fc;border:2px solid #cfd8e3;border-radius:19px;min-height:65px;padding:10px 16px;font-size:17px;font-weight:950;text-decoration:none;box-shadow:inset 0 2px #fff,0 4px #bac5d1,0 9px 16px #17203324}.detail-actions a,.emergency-options a{justify-content:center;align-items:center;display:flex}.primary-detail-action,.detail-actions .primary-detail-action{color:#fff;background:#173e68;border-color:#173e68;justify-content:center;align-items:center;width:100%;display:flex;box-shadow:inset 0 2px #ffffff38,0 5px #0e2945,0 11px 20px #173e6847}.detail-actions .whatsapp-action{color:#102d1f;background:#25d366;border-color:#128c4f;box-shadow:inset 0 2px #ffffff52,0 5px #128c4f,0 11px 20px #128c4f3d}.whatsapp-action img{object-fit:contain;width:32px;height:32px;margin-right:10px}.detail-actions .urgent-detail-action{color:#fff;background:#ca2638;border-color:#b51e2e;box-shadow:inset 0 2px #fff3,0 5px #8d1421,0 11px 20px #ab142540}.speak-wide{width:100%;margin-top:11px}.info-card,.bus-card{background:#f7fafc;border:2px solid #dfe6ed;border-radius:21px;margin:0 0 16px;padding:19px}.info-card span,.bus-card>span{color:#526178;letter-spacing:.08em;font-size:11px;font-weight:900;display:block}.info-card strong{margin:7px 0;font-size:21px;display:block}.info-card p{color:#596579;margin:0;line-height:1.45}.verified-card{background:linear-gradient(145deg,#f5fbf8,#edf6f1);border-color:#b9d2c5;box-shadow:inset 5px 0 #2d7c57}.verified-card>span{color:#226444}.intercity-modal-intro{margin-top:2px}.intercity-modal-route-buttons button{min-height:76px;font-size:clamp(18px,4.6vw,23px)}.intercity-modal-schedules{gap:18px;display:grid}.intercity-modal-verification{color:#5b4218;background:#fff7e5;border-left:5px solid #d39930;border-radius:14px;gap:4px;padding:14px 16px;font-size:13px;line-height:1.4;display:grid}.intercity-modal-direction>header{border-bottom:2px solid #d7e0ea;margin-bottom:10px;padding-bottom:9px}.intercity-modal-direction>header span{color:#8c6828;letter-spacing:.09em;font-size:11px;font-weight:950}.intercity-modal-direction h3{color:#173e68;margin:3px 0 0;font-size:clamp(23px,5.8vw,31px);line-height:1.1}.intercity-modal-direction ul{gap:9px;margin:0;padding:0;list-style:none;display:grid}.intercity-modal-direction li{background:#f8fbfd;border:1px solid #d7e0ea;border-radius:16px;padding:13px 14px}.intercity-modal-times{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:end;gap:9px;display:grid}.intercity-modal-times span{gap:2px;display:grid}.intercity-modal-times small{color:#6b788a;font-size:10px;font-weight:900}.intercity-modal-times time{color:#173e68;font-size:clamp(25px,6vw,32px);font-weight:950;line-height:1}.intercity-modal-times b{color:#d39930;font-size:24px}.intercity-modal-direction li>p{color:#284c70;margin:9px 0 0;font-size:13px;font-weight:850;line-height:1.35}.intercity-modal-note{color:#68768a;margin-top:5px;font-size:11px;line-height:1.4;display:block}.intercity-modal-footer-actions{margin-top:2px}.television-player-shell{aspect-ratio:16/9;background:#08111f;border:3px solid #274f82;border-radius:21px;width:100%;margin-bottom:16px;overflow:hidden;box-shadow:0 10px 24px #122f513d}.television-player{border:0;width:100%;height:100%;display:block}.television-live-card{background:linear-gradient(145deg,#f5f9ff,#e3edf8);border-color:#9ab6d6;box-shadow:inset 5px 0 #315f91}.television-live-card>span{color:#274f82}.pharmacy-duty-card{background:linear-gradient(145deg,#f7fff9 0%,#e3f5e9 100%);border:3px solid #2b815a;border-radius:24px;margin:0 0 16px;padding:21px;box-shadow:inset 6px 0 #2b815a,0 9px 20px #20664629}.pharmacy-live-line{color:#14633f;letter-spacing:.06em;align-items:center;gap:9px;font-size:12px;display:flex}.live-dot{background:#16884f;border:3px solid #bce8cd;border-radius:50%;width:13px;height:13px;box-shadow:0 0 0 4px #16884f1a}.pharmacy-duty-card h3{color:#142c22;letter-spacing:-.025em;margin:12px 0 18px;font-size:clamp(25px,6vw,35px);line-height:1.08}.pharmacy-contact-block{background:#fffc;border:2px solid #c1dfcc;border-radius:17px;padding:14px 15px}.pharmacy-contact-block+.pharmacy-contact-block{margin-top:10px}.pharmacy-contact-block span{color:#38604e;letter-spacing:.09em;font-size:11px;font-weight:950;display:block}.pharmacy-contact-block strong{margin-top:5px;font-size:20px;line-height:1.25;display:block}.pharmacy-contact-block p{color:#50695d;margin:4px 0 0;font-size:15px;font-weight:750}.phone-block strong{color:#0f5e38;letter-spacing:.025em;font-size:27px}.pharmacy-hours{color:#345848;margin:13px 3px 0;font-size:14px;font-weight:850;line-height:1.4}.detail-actions .pharmacy-call{background:linear-gradient(#16894f,#11663c);border-color:#12663c;box-shadow:inset 0 2px #ffffff3d,0 5px #084b2a,0 11px 20px #11663c47}.pharmacy-update-note{color:#536578;justify-content:space-between;align-items:center;gap:12px;margin-top:16px;font-size:13px;font-weight:800;display:flex}.pharmacy-update-note button{color:#23415e;background:#eef3f7;border:1px solid #aebdca;border-radius:10px;padding:8px 10px;font-size:11px;font-weight:950}.pharmacy-update-note button:disabled{opacity:.65}.pharmacy-source{color:#657185;text-align:center;margin:10px 2px 0;font-size:12px;line-height:1.4}.pharmacy-loading{text-align:center;background:#eff9f3;border:3px solid #9dceb0;border-radius:24px;align-content:center;place-items:center;gap:8px;min-height:210px;padding:28px 20px;display:grid}.loading-cross{color:#fff;background:#16884f;border-radius:17px;place-items:center;width:58px;height:58px;font-size:44px;font-weight:500;line-height:1;animation:1.2s ease-in-out infinite pharmacy-pulse;display:grid}.pharmacy-loading strong{font-size:20px}.pharmacy-loading p{color:#596b62;margin:0}.pharmacy-error{background:#fff4f5;border-color:#e1a2a8;box-shadow:inset 5px 0 #b9283a}.pharmacy-error>span{color:#9d1e2f}.appointment-card{background:linear-gradient(145deg,#f5faff,#e7f2fc);border-color:#aac6e2;box-shadow:inset 5px 0 #276b9f}.appointment-card>span{color:#185886}.detail-actions .appointment-call{background:linear-gradient(#287db7,#185886);border-color:#185886;box-shadow:inset 0 2px #ffffff38,0 5px #0d3e62,0 11px 20px #18588647}@keyframes pharmacy-pulse{50%{opacity:.78;transform:scale(1.06)}}.bus-card{grid-template-columns:1fr auto;align-items:end;display:grid}.bus-card>span{grid-column:1}.bus-card>strong{grid-column:1;margin-top:5px;font-size:28px}.bus-card div{color:#b46b08;grid-area:1/2/3;align-items:baseline;gap:6px;display:flex}.bus-card b{font-size:60px;line-height:.9}.bus-card small{font-size:14px;font-weight:900}.emergency-detail-icon{color:#fff;background:#c91f31;border:0;border-radius:50%;font-size:22px;font-weight:950}.emergency-kicker{color:#ad1726}.emergency-options{gap:11px;display:grid}.emergency-options .call-112{color:#fff;background:#c91f31;border-color:#a81221;font-size:20px}.verified-note{color:#5b6575;text-align:center;margin:18px 4px 0;font-size:14px;font-weight:700;line-height:1.45}.install-app-icon{border:2px solid #d8e0e8;border-radius:25px;width:96px;height:96px;box-shadow:0 10px 24px #1720332e}.install-guides{grid-template-columns:1fr 1fr;gap:12px;display:grid}.install-guides section{background:#f7fafc;border:2px solid #dce4ec;border-radius:20px;padding:18px}.install-guides section>strong{color:#173e68;font-size:18px}.install-guides ol{color:#48576c;margin:13px 0 0;padding-left:22px;line-height:1.55}.install-guides li+li{margin-top:6px}.install-done{margin-top:14px}.confirm-view{text-align:center;padding:25px 0 5px}.confirm-symbol{color:#fff;background:#c91f31;border-radius:50%;place-items:center;width:92px;height:92px;margin:0 auto 20px;font-size:55px;font-weight:950;display:grid}.confirm-view h2{padding:0}.confirm-view p{color:#5b6575;margin:12px 0 24px;font-size:18px}.confirm-view a{color:#fff;background:#c91f31;border-color:#a81221;justify-content:center;align-items:center;text-decoration:none;display:flex}.cancel-call{width:100%;margin-top:11px}.toast{z-index:30;color:#fff;text-align:center;background:#163f31;border-radius:17px;width:min(520px,100% - 30px);padding:17px 20px;font-size:15px;font-weight:850;position:fixed;bottom:25px;left:50%;transform:translate(-50%);box-shadow:0 14px 40px #0a142847}.family-form{gap:13px;display:grid}.family-field{gap:7px;display:grid}.family-field label{color:#47367d;letter-spacing:.08em;font-size:12px;font-weight:950}.family-field input{color:#221d35;width:100%;min-height:61px;font:inherit;background:#fbfaff;border:3px solid #b8a6e5;border-radius:17px;outline:none;padding:12px 15px;font-size:20px;font-weight:800;box-shadow:inset 0 2px 5px #2d1d5414}.family-field input:focus{border-color:#5f48a5;box-shadow:0 0 0 4px #5f48a526}.family-error{color:#ac1f31;margin:-2px 2px 0;font-size:14px;font-weight:850}.family-form>button{color:#30244f;background:#f7f4ff;border:2px solid #cfc6e8;border-radius:18px;min-height:61px;padding:10px 16px;font-size:16px;font-weight:950;box-shadow:inset 0 2px #fff,0 4px #b8add7,0 9px 16px #34255921}.family-form>.primary-detail-action{color:#fff;background:#5d479e;border-color:#5d479e;box-shadow:inset 0 2px #fff3,0 5px #3e2c77,0 11px 20px #49338440}.family-private-note{color:#667085;text-align:center;margin:11px 2px 0;font-size:13px;font-weight:700}.family-contact-card{background:linear-gradient(145deg,#faf7ff,#e9e0ff);border:3px solid #8069bd;border-radius:23px;margin-bottom:16px;padding:22px;box-shadow:inset 6px 0 #6f55ad,0 9px 20px #50398b29}.family-contact-card span{color:#59428f;letter-spacing:.09em;font-size:11px;font-weight:950;display:block}.family-contact-card strong{color:#241a3b;margin:9px 0 5px;font-size:30px;line-height:1.1;display:block}.family-contact-card p{color:#513b86;margin:0;font-size:25px;font-weight:950}.detail-actions .family-call{background:linear-gradient(#765dbc,#594293);border-color:#5d479e;box-shadow:inset 0 2px #ffffff38,0 5px #3d2b70,0 11px 20px #49338445}.utility-row.install-only{grid-template-columns:1fr;margin-top:5px}.utility-row.install-only .install-button{width:100%}.family-card-photo{object-fit:cover;border:4px solid #ffffffe6;border-radius:50%;box-shadow:0 8px 18px #3e2a6e47}.settings-detail-icon{color:#173e68;background:linear-gradient(145deg,#fff,#dce7f2);border-color:#9fb2c8;font-size:40px;font-weight:950}.selection-count{color:#435269;text-align:center;background:#f2f6fa;border:2px solid #b9c8d7;border-radius:15px;margin-bottom:14px;padding:12px 15px}.selection-count strong{color:#173e68;font-size:20px}.service-selector{grid-template-columns:1fr 1fr;gap:9px;display:grid}.service-selector button{color:#27364c;text-align:left;background:#f7f9fc;border:2px solid #c9d3de;border-radius:17px;grid-template-columns:30px 1fr 28px;align-items:center;gap:7px;min-height:67px;padding:9px 11px;display:grid;box-shadow:0 3px #b9c5d0}.service-selector button.selected{color:#164a32;background:#eaf7ef;border-color:#256846;box-shadow:inset 0 0 0 2px #b9dfc7,0 3px #75a98a}.service-selector button>span{text-align:center;font-size:24px}.service-selector button strong{font-size:13px;line-height:1.1}.service-selector button b{background:#dbe3ec;border-radius:50%;place-items:center;width:27px;height:27px;font-size:20px;display:grid}.service-selector button.selected b{color:#fff;background:#24734b}.button-order-section{margin-top:19px}.button-order-heading{background:linear-gradient(145deg,#f7fbff,#dfedf8);border:2px solid #8fb0cd;border-radius:19px;margin-bottom:12px;padding:17px;box-shadow:inset 5px 0 #356f9f}.button-order-heading>span{color:#31658f;letter-spacing:.1em;font-size:10px;font-weight:950}.button-order-heading h3{color:#1c3854;margin:5px 0;font-size:21px;line-height:1.15}.button-order-heading p{color:#536a7f;margin:0;font-size:13px;font-weight:750;line-height:1.4}.button-order-grid{grid-template-columns:1fr 1fr;gap:11px;display:grid}.button-order-grid article{background:#fff;border:2px solid #aebdcc;border-radius:19px;min-width:0;padding:10px;box-shadow:0 4px #c0cad4,0 9px 15px #20374e17}.button-order-preview{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:127px;padding:8px 4px 5px;display:flex;position:relative}.button-order-preview em{color:#fff;background:#173e68;border-radius:50%;place-items:center;width:31px;height:31px;font-size:17px;font-style:normal;font-weight:950;display:grid;position:absolute;top:0;left:0;box-shadow:0 3px #0e2947}.button-order-preview img,.button-order-preview>span{object-fit:contain;filter:drop-shadow(0 5px 4px #17203329);place-items:center;width:54px;height:54px;font-size:29px;display:grid}.button-order-preview strong{margin-top:3px;font-size:13px;line-height:1.05}.button-order-preview small{color:#54708a;letter-spacing:.04em;margin-top:5px;font-size:8px;font-weight:950}.button-order-controls{grid-template-columns:1fr 1fr;gap:6px;display:grid}.button-order-controls button{color:#294862;background:linear-gradient(#fff,#e8f0f6);border:2px solid #7894ac;border-radius:11px;min-height:41px;padding:5px 3px;font-size:9px;font-weight:950;box-shadow:0 3px #9cafbf}.button-order-controls button:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px #9cafbf}.button-order-controls button:disabled{color:#a8b0b8;box-shadow:none;background:#f3f5f7;border-color:#d7dde3}.customization-save{margin-top:16px}.customization-save:disabled{opacity:.45;box-shadow:none}.reset-services{color:#4b5d73;background:0 0;border:0;width:100%;min-height:48px;margin-top:10px;font-size:12px;font-weight:900;text-decoration:underline}.family-photo-picker{color:#513d86;background:#faf8ff;border:3px dashed #9f8ad5;border-radius:20px;grid-template-columns:82px 1fr;align-items:center;gap:15px;min-height:116px;padding:14px;display:grid}.family-photo-picker img,.family-photo-picker>span{object-fit:cover;border:3px solid #fff;border-radius:50%;grid-row:1;width:82px;height:82px;box-shadow:0 7px 15px #442b7e38}.family-photo-picker>span{background:#e9e0fb;place-items:center;font-size:42px;display:grid}.family-photo-picker strong{font-size:14px;line-height:1.3}.family-photo-options{grid-template-columns:1fr 1fr;gap:11px;display:grid}.family-photo-options label{color:#fff;text-align:center;cursor:pointer;background:linear-gradient(#8069bd,#5e489b);border:3px solid #6d57aa;border-radius:18px;justify-content:center;align-items:center;gap:9px;min-height:74px;padding:10px 9px;font-size:12px;font-weight:950;line-height:1.2;display:flex;box-shadow:inset 0 2px #ffffff3d,0 5px #453477,0 11px 18px #4933843b}.family-photo-options label:last-child{background:linear-gradient(#517ba5,#365e87);border-color:#365e87;box-shadow:inset 0 2px #ffffff3d,0 5px #244463,0 11px 18px #2444633b}.family-photo-options label:active{transform:translateY(4px);box-shadow:inset 0 1px #fff3,0 1px #453477,0 5px 10px #4933842e}.family-photo-options input{opacity:0;width:1px;height:1px;position:absolute}.photo-camera-icon,.photo-gallery-icon{border:3px solid;border-radius:6px;flex:none;width:29px;height:23px;position:relative}.photo-camera-icon:before{content:"";border:3px solid;border-radius:50%;width:8px;height:8px;position:absolute;top:4px;left:7px}.photo-camera-icon:after{content:"";background:currentColor;border-radius:3px 3px 0 0;width:11px;height:5px;position:absolute;top:-7px;left:8px}.photo-gallery-icon:before{content:"";background:currentColor;border-radius:50%;width:5px;height:5px;position:absolute;top:3px;right:3px}.photo-gallery-icon:after{content:"";clip-path:polygon(0 100%,37% 30%,58% 65%,76% 42%,100% 100%);background:currentColor;height:10px;position:absolute;bottom:3px;left:3px;right:3px}.family-contact-card{align-items:center;gap:16px;display:flex}.family-contact-card img{object-fit:cover;border:4px solid #fff;border-radius:50%;flex:none;width:92px;height:92px;box-shadow:0 7px 16px #47308140}.family-contact-card>div{min-width:0}.municipal-card{background:linear-gradient(145deg,#f7faff,#e6eef8);border-color:#9db3ce;box-shadow:inset 5px 0 #486e9e}.municipal-card>span{color:#315b8d}.detail-actions .municipal-call{background:linear-gradient(#3e6eaa,#274f82);border-color:#274f82;box-shadow:inset 0 2px #ffffff38,0 5px #18375e,0 11px 20px #274f8247}.feed-heading{background:linear-gradient(145deg,#fffdf8,#f3e5cf);border:2px solid #d7b78e;border-radius:21px;margin-bottom:15px;padding:18px 19px;box-shadow:inset 5px 0 #a96c32}.feed-heading>span{color:#805126;letter-spacing:.09em;font-size:11px;font-weight:950;display:block}.feed-heading>strong{margin:6px 0 3px;font-size:24px;display:block}.feed-heading>p{color:#655847;margin:0;line-height:1.4}.event-feed-heading{background:linear-gradient(145deg,#f8fdff,#daf0f6);border-color:#a7d4e2;box-shadow:inset 5px 0 #347f9e}.event-feed-heading>span{color:#236985}.local-feed{gap:12px;display:grid}.feed-message{color:#506077;text-align:center;background:#f7f9fc;border:2px solid #d5dde6;border-radius:19px;padding:22px;font-weight:850}.feed-message.feed-error{color:#8f2432;background:#fff4f5;border-color:#e3adb4}.feed-item{background:#fff;border:2px solid #d9e1e9;border-radius:20px;padding:17px;box-shadow:0 7px 17px #17203317}.news-item{background:linear-gradient(145deg,#fff,#fffaf2);border-left:6px solid #aa6e35}.event-item{background:linear-gradient(145deg,#fff,#f4fbfd);border-left:6px solid #317f9d}.feed-item time{color:#5b6980;letter-spacing:.04em;text-transform:uppercase;font-size:12px;font-weight:950}.feed-item h3{color:#1a273b;margin:7px 0 12px;font-size:20px;line-height:1.25}.feed-item p{color:#536176;margin:-4px 0 12px;font-weight:750}.feed-item>a{color:#213d5d;text-align:center;background:#f5f8fb;border:2px solid #b8c6d4;border-radius:14px;justify-content:center;align-items:center;min-height:47px;padding:8px 12px;font-size:12px;font-weight:950;text-decoration:none;display:flex;box-shadow:0 3px #b6c2ce}.feed-actions{margin-top:15px}.detail-actions .news-listen{background:linear-gradient(#b87738,#8e5725);border-color:#82501f;box-shadow:inset 0 2px #ffffff38,0 5px #684019,0 11px 20px #71451c42}.detail-actions .event-listen{background:linear-gradient(#3e91b0,#2a718e);border-color:#266d89;box-shadow:inset 0 2px #ffffff38,0 5px #1b5067,0 11px 20px #21678242}.detail-actions button:disabled{opacity:.48;cursor:not-allowed;box-shadow:none}.weather-dashboard{gap:14px;display:grid}.weather-temperature-card{color:#123e60;text-align:center;background:linear-gradient(150deg,#f5fcff 0%,#cbeaff 48%,#b2dcf8 100%);border:3px solid #438fc1;border-radius:25px;padding:22px 18px;box-shadow:inset 0 2px #fff,0 7px #76afd3,0 16px 26px #185a842e}.weather-temperature-card>span{letter-spacing:.1em;font-size:12px;font-weight:950}.weather-temperature-card>div{justify-content:center;align-items:flex-start;min-height:100px;display:flex}.weather-temperature-card>div strong{letter-spacing:-.055em;font-variant-numeric:tabular-nums;font-size:clamp(76px,19vw,112px);line-height:.98}.weather-temperature-card>div sup{margin:6px 0 0 5px;font-size:clamp(35px,8vw,48px);font-weight:950}.weather-temperature-card h3{margin:2px 0 3px;font-size:clamp(24px,6vw,34px);line-height:1.05}.weather-temperature-card p{color:#34617f;margin:0;font-size:15px;font-weight:850}.weather-wind-card{color:#153c59;background:linear-gradient(145deg,#f1f9ff,#c5e5f6);border:3px solid #174f78;border-radius:25px;padding:19px;box-shadow:inset 0 2px #fff,0 7px #2c709c,0 16px 26px #11496d30}.weather-wind-heading{grid-template-columns:88px 1fr;align-items:center;gap:15px;display:grid}.weather-wind-heading>div:last-child>span{color:#356d91;letter-spacing:.09em;font-size:11px;font-weight:950}.weather-wind-heading h3{letter-spacing:-.02em;margin:2px 0 6px;font-size:clamp(35px,9vw,52px);line-height:.98}.weather-wind-heading strong{color:#fff;letter-spacing:.08em;background:#174f78;border-radius:999px;padding:6px 12px;font-size:17px;display:inline-block}.wind-compass{background:radial-gradient(circle,#fff 0 43%,#d7edf9 44% 100%);border:4px solid #4789b0;border-radius:50%;place-items:center;width:88px;height:88px;display:grid;position:relative;box-shadow:inset 0 0 0 5px #fff,0 7px 14px #19567a2b}.wind-compass:before,.wind-compass:after{color:#315f7b;font-size:10px;font-weight:950;position:absolute}.wind-compass:before{content:"N";top:5px}.wind-compass:after{content:"S";bottom:4px}.wind-compass span{color:#dc3345;transform-origin:50%;font-size:50px;line-height:1}.weather-wind-numbers{grid-template-columns:1fr 1fr;gap:10px;margin-top:17px;display:grid}.weather-wind-numbers>div{text-align:center;background:#ffffffbf;border:2px solid #91bdd8;border-radius:17px;grid-template-columns:1fr auto;align-items:end;padding:13px 8px;display:grid}.weather-wind-numbers span{color:#3f6881;letter-spacing:.09em;grid-column:1/3;font-size:10px;font-weight:950}.weather-wind-numbers strong{font-variant-numeric:tabular-nums;justify-self:end;font-size:clamp(38px,10vw,54px);line-height:1}.weather-wind-numbers small{justify-self:start;margin:0 0 5px 3px;font-size:11px;font-weight:900}.weather-wind-card>p{color:#3b6580;text-align:center;margin:12px 0 0;font-size:12px;font-weight:850}.weather-rain-card{color:#163e5d;background:linear-gradient(145deg,#f5fbff,#d4e9f8);border:3px solid #407fae;border-radius:24px;grid-template-columns:74px 1fr;align-items:center;gap:16px;padding:18px;display:grid;box-shadow:inset 0 2px #fff,0 6px #7ba8c8,0 14px 23px #215b8229}.rain-drop{background:linear-gradient(145deg,#73c6f5,#1975b4);border-radius:52% 48%/68% 68% 32% 32%;width:60px;height:72px;display:block;transform:rotate(45deg);box-shadow:inset 8px 9px #ffffff47,0 8px 14px #1d69993d}.weather-rain-card>div>span{color:#356b90;letter-spacing:.08em;font-size:10px;font-weight:950;display:block}.weather-rain-card strong{font-variant-numeric:tabular-nums;margin:2px 0;font-size:clamp(50px,13vw,72px);line-height:1;display:block}.weather-rain-card strong small{font-size:.48em}.weather-rain-card h3{color:#255b80;margin:0;font-size:15px;line-height:1.1}.weather-range-grid{grid-template-columns:1fr 1fr;gap:11px;display:grid}.weather-range-grid section{background:#f8fcff;border:2px solid #9dbbd0;border-radius:20px;justify-items:center;padding:15px 10px;display:grid;box-shadow:0 5px #b8cbd8,0 10px 17px #274d661a}.weather-range-grid span{color:#34627e;letter-spacing:.08em;font-size:12px;font-weight:950}.weather-range-grid strong{margin-top:3px;font-size:clamp(38px,10vw,52px);line-height:1}.weather-range-grid small{color:#687d8c;letter-spacing:.1em;font-size:9px;font-weight:950}.weather-range-grid b{color:#405d72;margin-top:8px;font-size:13px}.detail-actions .weather-listen{background:linear-gradient(#267fb5,#175c88);border-color:#174f78;box-shadow:inset 0 2px #ffffff38,0 5px #103e5d,0 11px 20px #175c8847}.feria-day-tabs{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:15px;display:grid}.feria-courts{background:linear-gradient(145deg,#fffaf0,#f8e8c8);border:3px solid #a86a27;border-radius:24px;margin-bottom:22px;overflow:hidden;box-shadow:0 11px 25px #7348182e}.feria-courts>header{background:linear-gradient(145deg,#fff2cc,#e9c675);align-items:center;gap:13px;padding:17px 18px;display:flex}.feria-courts>header>span{color:#fff4c8;background:#8d4e16;border-radius:50%;flex:none;place-items:center;width:48px;height:48px;font-size:30px;display:grid;box-shadow:inset 0 2px #ffffff40,0 4px #64340d}.feria-courts>header p{color:#78410e;letter-spacing:.12em;margin:0 0 3px;font-size:11px;font-weight:950}.feria-courts>header h3{color:#2b2530;margin:0;font-size:clamp(23px,6vw,31px);line-height:1.05}.feria-court-tabs{grid-template-columns:1fr 1fr;gap:9px;padding:14px 14px 0;display:grid}.feria-court-tabs button{color:#6a431b;background:linear-gradient(#fff,#f5e6c8);border:2px solid #b9955b;border-radius:14px;min-height:50px;font-size:14px;font-weight:950;box-shadow:0 3px #b89a6e}.feria-court-tabs button.active{color:#fff;background:linear-gradient(#b8792e,#885018);border-color:#7a4312;box-shadow:inset 0 2px #ffffff3b,0 3px #5d330f}.feria-court-panel{padding:15px}.feria-court-panel>h4{color:#3f2b1c;text-align:center;margin:0 0 12px;font-size:21px}.feria-court-help{color:#75552f;text-align:center;margin:-4px 0 14px;font-size:13px;font-weight:800}.feria-court-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.feria-court-person{color:#302735;text-align:left;background:#fff;border:2px solid #c89a54;border-radius:17px;padding:0 0 12px;display:block;overflow:hidden;box-shadow:0 5px #b58d55,0 10px 17px #5b3a1524}.feria-court-person img{aspect-ratio:7/9;object-fit:cover;object-position:center top;width:100%;display:block}.feria-court-person span{color:#8a541c;letter-spacing:.08em;text-transform:uppercase;margin:10px 11px 3px;font-size:10px;font-weight:950;display:block}.feria-court-person strong{margin:0 11px;font-size:clamp(14px,4vw,18px);line-height:1.18;display:block}.feria-court-person.is-queen{background:linear-gradient(145deg,#fff9e8,#f7e0b6);border-color:#9e651f;grid-column:1/-1;justify-self:center;width:min(68%,270px);box-shadow:0 6px #875518,0 12px 20px #5b3a1533}.feria-court-person.is-queen span{color:#7d440d}.feria-court-person.is-queen strong{font-size:clamp(17px,5vw,21px)}.feria-court-full-poster{color:#fff;background:linear-gradient(#b8782c,#855019);border:2px solid #86501b;border-radius:14px;width:100%;min-height:50px;margin-top:17px;font-size:13px;font-weight:950;box-shadow:inset 0 2px #ffffff38,0 4px #5d350f}.feria-court-lightbox{z-index:100;background:#080d16f0;place-items:start center;padding:64px 12px 18px;display:grid;position:fixed;inset:0;overflow:auto}.feria-court-lightbox>button{z-index:1;color:#fff;background:#9d2b2b;border:2px solid #fff;border-radius:14px;min-height:44px;padding:9px 16px;font-size:13px;font-weight:950;position:fixed;top:12px;right:12px;box-shadow:0 4px #641717}.feria-court-lightbox img{border:3px solid #d6ad5a;border-radius:14px;width:min(94vw,760px);height:auto;box-shadow:0 18px 50px #000}.feria-portrait-lightbox{z-index:101;background:#080d16f2;place-items:center;padding:66px 18px 22px;display:grid;position:fixed;inset:0;overflow:auto}.feria-portrait-close{z-index:2;color:#fff;background:#9d2b2b;border:2px solid #fff;border-radius:14px;min-height:44px;padding:9px 16px;font-size:13px;font-weight:950;position:fixed;top:12px;right:12px;box-shadow:0 4px #641717}.feria-portrait-lightbox figure{touch-action:pan-y;-webkit-user-select:none;user-select:none;background:#fff7e5;border:3px solid #d6ad5a;border-radius:20px;width:min(78vw,480px);margin:auto;position:relative;overflow:hidden;box-shadow:0 18px 50px #000}.feria-portrait-lightbox img{width:100%;height:auto;display:block}.feria-portrait-lightbox figcaption{padding:17px 19px 20px}.feria-portrait-lightbox figcaption span{color:#885018;letter-spacing:.09em;text-transform:uppercase;font-size:11px;font-weight:950;display:block}.feria-portrait-lightbox figcaption strong{color:#2f2631;margin-top:5px;font-size:clamp(24px,7vw,34px);line-height:1.1;display:block}.feria-portrait-lightbox figcaption b{color:#7a664d;margin-top:12px;font-size:11px;line-height:1.3;display:block}.feria-portrait-nav{z-index:2;color:#fff;background:#975b1cf0;border:2px solid #fff;border-radius:18px;width:52px;height:66px;padding:0;font-size:48px;font-weight:800;line-height:1;position:fixed;top:50%;transform:translateY(-50%);box-shadow:0 5px #5d350f,0 10px 24px #000}.feria-portrait-nav.previous{left:max(10px,50vw - 330px)}.feria-portrait-nav.next{right:max(10px,50vw - 330px)}@media (max-width:520px){.feria-portrait-lightbox{padding-inline:10px}.feria-portrait-lightbox figure{width:min(76vw,430px)}.feria-portrait-nav{border-radius:15px;width:44px;height:58px;font-size:40px}.feria-portrait-nav.previous{left:7px}.feria-portrait-nav.next{right:7px}}@media (max-width:420px){.feria-court-grid{gap:9px}}.feria-day-tabs button{color:#254a67;background:linear-gradient(#fff,#eaf2f7);border:2px solid #9db7ca;border-radius:14px;min-height:49px;padding:7px 5px;font-size:13px;font-weight:950;box-shadow:0 3px #aabccc}.feria-day-tabs button.active{color:#fff;background:linear-gradient(#3e92b0,#286c89);border-color:#235f7c;box-shadow:inset 0 2px #ffffff38,0 3px #174b62}.feria-day-card{background:#f8fcfe;border:3px solid #4386a3;border-radius:24px;overflow:hidden;box-shadow:0 11px 25px #1f5b7529}.feria-day-card>header{background:linear-gradient(145deg,#eaf8fc,#cdeaf3);padding:20px;box-shadow:inset 6px 0 #2d7997}.feria-day-card>header>span{color:#276783;letter-spacing:.1em;font-size:11px;font-weight:950}.feria-day-card>header h3{color:#16283b;margin:6px 0 0;font-size:clamp(24px,6vw,33px);line-height:1.08}.feria-day-card>header strong{color:#8b4e19;margin-top:8px;font-size:15px;line-height:1.25;display:block}.feria-price-note{color:#71420e;text-align:center;background:#fff3d7;border-top:2px solid #e0b272;border-bottom:2px solid #e0b272;padding:14px 18px;font-size:16px;font-weight:950}.feria-event-list{margin:0;padding:5px 18px 16px;list-style:none}.feria-event-list li{border-bottom:2px solid #dce6ec;grid-template-columns:94px 1fr;gap:13px;padding:16px 0;display:grid}.feria-event-list li:last-child{border-bottom:0}.feria-event-time{color:#fff;text-align:center;background:#225f7b;border-radius:12px;align-self:start;padding:8px 6px;font-size:13px;font-weight:950;line-height:1.15}.feria-event-list h4{color:#17233a;margin:1px 0 5px;font-size:19px;line-height:1.2}.feria-event-list strong{color:#2c6e89;font-size:14px;line-height:1.3;display:block}.feria-event-list p{color:#536176;margin:7px 0 0;font-size:14px;line-height:1.42}.feria-program-actions{margin-top:15px}.bus-feria-card>header{background:linear-gradient(145deg,#eefaff,#ccecf7)}.bus-feria-summary{grid-template-columns:1fr 1fr;gap:10px;padding:15px 17px;display:grid}.bus-feria-summary>div{text-align:center;background:#fff;border:2px solid #99bed0;border-radius:17px;place-content:center;min-height:82px;padding:13px 9px;display:grid;box-shadow:0 4px #b4cbd6}.bus-feria-summary span{color:#477186;letter-spacing:.09em;font-size:10px;font-weight:950}.bus-feria-summary strong{color:#173d55;margin-top:5px;font-size:17px}.bus-feria-route{gap:8px;margin:0;padding:3px 18px 15px;list-style:none;display:grid}.bus-feria-route li{background:#f7fcff;border:2px solid #b8d3df;border-radius:15px;align-items:center;gap:11px;min-height:48px;padding:7px 12px;display:flex}.bus-feria-route span{color:#fff;background:#267895;border-radius:50%;flex:none;place-items:center;width:30px;height:30px;font-size:14px;font-weight:950;display:grid}.bus-feria-route strong{color:#203f54;font-size:16px}.bus-feria-special{color:#68420b;background:#fff4dc;border:2px solid #d49a42;border-radius:17px;margin:0 18px 15px;padding:15px}.bus-feria-special strong{letter-spacing:.09em;font-size:11px;display:block}.bus-feria-special p{margin:6px 0 0;font-size:15px;font-weight:800;line-height:1.4}.bus-feria-stop-schedules{gap:10px;padding:0 18px 18px;display:grid}.bus-feria-stop-schedules section{background:#fff;border:2px solid #acd0df;border-radius:17px;padding:14px}.bus-feria-stop-schedules h4{color:#205b75;margin:0 0 9px;font-size:17px}.bus-feria-stop-schedules section>div{flex-wrap:wrap;gap:7px;display:flex}.bus-feria-stop-schedules time{color:#173c51;text-align:center;background:#e7f5fa;border-radius:10px;min-width:55px;padding:7px 8px;font-size:14px;font-weight:950}.bus-feria-frequency-note{text-align:center;background:#effaff;border:2px solid #9fc6d7;border-radius:17px;margin:0 18px 18px;padding:17px}.bus-feria-frequency-note strong{color:#185772;font-size:17px}.bus-feria-frequency-note p{color:#4d6877;margin:7px 0 0;font-size:14px;font-weight:750;line-height:1.4}.detail-actions .bus-feria-listen{background:linear-gradient(#2e87a7,#1c6885);border-color:#185f7b;box-shadow:inset 0 2px #ffffff38,0 5px #12485d,0 11px 20px #1c688545}.medication-empty{background:#fff7fb;border-color:#d8aec2;box-shadow:inset 5px 0 #a94f7d}.medication-empty>span{color:#8e3d68}.medication-complete{background:#eff9f3;border-color:#a7d3b8;box-shadow:inset 5px 0 #26764c}.medication-complete>span{color:#206442}.medication-now{background:linear-gradient(145deg,#fff8fc,#f4d8e6);border:3px solid #b6648e;border-radius:24px;margin-bottom:15px;padding:22px;display:grid;box-shadow:inset 6px 0 #a54978,0 10px 22px #89305e2b}.medication-now.is-due{background:linear-gradient(145deg,#f7fff9,#dff3e7);border-color:#2f7b52;box-shadow:inset 6px 0 #26764c,0 10px 22px #26764c2b}.medication-now>span{color:#8a3d66;letter-spacing:.1em;font-size:12px;font-weight:950}.medication-now.is-due>span{color:#226645}.medication-now h3{margin:8px 0 3px;font-size:clamp(28px,7vw,39px);line-height:1}.medication-now>strong{color:#5d4151;font-size:20px}.medication-now time{margin:10px 0 16px;font-size:28px;font-weight:950}.medication-now>button{color:#fff;background:linear-gradient(#2e8b5c,#216d47);border:2px solid #1c6540;border-radius:18px;min-height:64px;font-size:18px;font-weight:950;box-shadow:inset 0 2px #ffffff38,0 5px #164d33,0 10px 17px #1a623e38}.medication-now>.medication-listen{color:#37445a;background:#fff;border-color:#aab8c7;min-height:48px;margin-top:10px;font-size:13px;box-shadow:0 3px #b1beca}.medication-list{background:#f8fafc;border:2px solid #d8dfe7;border-radius:20px;margin-bottom:14px;padding:17px}.medication-list>strong,.medication-form>strong{color:#6d4260;letter-spacing:.08em;margin-bottom:10px;font-size:12px;display:block}.medication-list>div{border-top:1px solid #dce3ea;align-items:center;gap:10px;padding:10px 0;display:flex}.medication-list>div>span{flex:1;grid-template-columns:52px 1fr;gap:8px;min-width:0;display:grid}.medication-list b{color:#783f5f}.medication-list em{color:#455269;text-overflow:ellipsis;white-space:nowrap;font-style:normal;overflow:hidden}.medication-list button{color:#a3283a;background:#fff2f4;border:1px solid #e1b6be;border-radius:50%;width:38px;height:38px;font-size:26px}.medication-form{background:#fffafd;border:2px solid #d8c5d0;border-radius:21px;gap:11px;padding:18px;display:grid}.medication-form label,.coupon-form label{color:#5a4653;letter-spacing:.06em;gap:6px;font-size:11px;font-weight:950;display:grid}.medication-form>div,.coupon-form>div{grid-template-columns:1fr 1fr;gap:10px;display:grid}.medication-form input,.coupon-form input,.coupon-form select{color:#1d283a;width:100%;min-height:55px;font:inherit;background:#fff;border:2px solid #c5cfdb;border-radius:14px;padding:10px 12px;font-size:17px;font-weight:800}.medication-form button,.notification-button{color:#fff;background:#a85582;border:2px solid #945074;border-radius:16px;min-height:55px;font-size:14px;font-weight:950}.medication-alert-status{background:linear-gradient(145deg,#f8fafc,#e8eef4);border:3px solid #9eafc0;border-radius:21px;margin-top:14px;padding:17px;box-shadow:inset 5px 0 #667b91,0 8px 18px #2a3d511f}.medication-alert-status>span{color:#50647a;letter-spacing:.1em;font-size:10px;font-weight:950;display:block}.medication-alert-status>strong{color:#26394e;margin:5px 0;font-size:19px;line-height:1.15;display:block}.medication-alert-status>p{color:#59697b;margin:0;font-size:13px;font-weight:750;line-height:1.42}.medication-alert-status.active{background:linear-gradient(145deg,#f4fff7,#dcefe3);border-color:#60a77b;box-shadow:inset 5px 0 #26734b,0 8px 18px #236b4621}.medication-alert-status.active>span,.medication-alert-status.active>strong{color:#1f6843}.medication-alert-status.blocked{background:#fff3f5;border-color:#d08c96;box-shadow:inset 5px 0 #a83546,0 8px 18px #8f29381c}.medication-alert-status.blocked>span,.medication-alert-status.blocked>strong{color:#8f2b3a}.medication-alert-status.install{background:linear-gradient(145deg,#f7fbff,#e1edf8);border-color:#8ba7c3;box-shadow:inset 5px 0 #356b9c,0 8px 18px #295a851f}.medication-alert-status.install>span,.medication-alert-status.install>strong{color:#285d8a}.medication-alert-status.unsupported{background:#f4f5f7;border-color:#b7bec7;box-shadow:inset 5px 0 #747f8c}.notification-button{color:#fff;background:linear-gradient(#4b7da8,#345f86);border-color:#385f83;width:100%;min-height:61px;margin-top:10px;box-shadow:inset 0 2px #ffffff38,0 5px #254662,0 11px 20px #2a567d3b}.notification-button.is-active{background:linear-gradient(#7f909f,#657786);border-color:#6d7d8b;box-shadow:inset 0 2px #ffffff2e,0 5px #4b5b68,0 11px 20px #3e4e5b33}.notification-button:disabled{opacity:.55;box-shadow:none}.medical-disclaimer{color:#626f80;text-align:center;margin:13px 3px 0;font-size:12px;font-weight:700;line-height:1.45}.coupon-camera{color:#145d59;cursor:pointer;background:linear-gradient(145deg,#f2fffe,#ccece9);border:3px solid #21817b;border-radius:23px;grid-template-columns:74px 1fr;align-items:center;column-gap:16px;min-height:148px;padding:20px;display:grid;box-shadow:inset 0 2px #fff,0 6px #5ea9a4,0 14px 24px #17615d33}.coupon-camera>span{background:#fff;border-radius:22px;grid-row:1/3;place-items:center;width:74px;height:74px;font-size:41px;display:grid;box-shadow:0 8px 15px #1868622e}.coupon-camera strong{align-self:end;font-size:20px}.coupon-camera small{letter-spacing:.05em;align-self:start;margin-top:5px;font-size:11px;font-weight:900}.coupon-camera input{opacity:0;width:1px;height:1px;position:absolute}.coupon-camera.is-scanning{color:#153f61;pointer-events:none;background:linear-gradient(145deg,#f2f9ff,#d3e9fa);border-color:#185d91;box-shadow:inset 0 2px #fff,0 6px #6699bd,0 14px 24px #194d7533}.coupon-scan-lens{position:relative}.coupon-scan-lens:before{content:"";background:radial-gradient(circle,#fff 0 7px,currentColor 8px 11px,#fff 12px);border:5px solid;border-radius:10px;width:45px;height:31px;box-shadow:inset 0 2px 2px #ffffffa6,0 3px 5px #1047442e}.coupon-scan-lens:after{content:"";background:currentColor;border-radius:5px 5px 0 0;width:17px;height:7px;position:absolute;top:15px;left:25px}.coupon-camera.is-scanning .coupon-scan-lens{animation:1.1s ease-in-out infinite scan-pulse}.scan-message{color:#23635f;background:#eaf7f5;border-radius:13px;margin:13px 2px;padding:11px 13px;font-size:13px;font-weight:800;line-height:1.4}.scan-message p{margin:0}.scan-message.is-scanning{color:#25577d;background:#e8f3fb}.scan-progress{background:#c5d9e9;border-radius:999px;height:9px;margin-top:9px;display:block;overflow:hidden}.scan-progress i{border-radius:inherit;background:linear-gradient(90deg,#247fb6,#45b3c5);height:100%;transition:width .25s;display:block}@keyframes scan-pulse{50%{transform:scale(1.07)}}.coupon-form{gap:11px;margin-top:14px;display:grid}.coupon-form>.primary-detail-action:disabled{opacity:.55;box-shadow:none}.latest-once-result{background:linear-gradient(145deg,#f6fff1,#fff7a8);border:3px solid #198343;border-radius:23px;padding:17px;box-shadow:inset 0 2px #fff,0 6px #12703a,0 14px 25px #12703a30}.latest-once-heading span{color:#146f3c;letter-spacing:.09em;font-size:10px;font-weight:950;display:block}.latest-once-heading strong{color:#183d25;margin-top:4px;font-size:18px;line-height:1.2;display:block}.latest-once-loading{color:#506459;text-align:center;place-items:center;min-height:108px;font-size:14px;font-weight:850;display:grid}.latest-once-ticket{text-align:center;background:#fff;border:2px solid #d8ba18;border-radius:18px;margin-top:12px;padding:15px;box-shadow:inset 0 -3px #f0e29b,0 7px 15px #3f4d1b24}.latest-once-ticket>p{color:#16813f;text-transform:uppercase;margin:0;font-size:14px;font-weight:950}.latest-once-ticket>strong{color:#172033;letter-spacing:.08em;font-variant-numeric:tabular-nums;margin:3px 0 5px;font-size:clamp(44px,12vw,64px);line-height:1;display:block}.latest-once-ticket>div{color:#415063;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;display:flex}.latest-once-ticket>div b{color:#17351f;background:#ffdc26;border-radius:9px;padding:6px 10px;font-size:14px}.latest-once-ticket time{text-transform:capitalize;font-size:12px;font-weight:850}.latest-once-ticket button{color:#fff;background:linear-gradient(#286493,#173e68);border:2px solid #173e68;border-radius:15px;justify-content:center;align-items:center;gap:8px;min-height:48px;margin-top:12px;padding:6px 14px;font-size:11px;font-weight:950;display:inline-flex;box-shadow:inset 0 2px #fff3,0 4px #0e2945}.latest-once-ticket button .sound-icon{flex-basis:30px;width:30px;height:30px}.latest-once-result>small{color:#4f6256;text-align:center;margin-top:11px;font-size:10px;font-weight:800;display:block}.latest-once-error{color:#8c2935;text-align:center;padding:14px 4px 2px}.latest-once-error p{margin:0 0 10px;font-size:13px;font-weight:800;line-height:1.4}.latest-once-error button{color:#842834;background:#fff;border:2px solid #b45863;border-radius:12px;min-height:42px;padding:0 13px;font-size:11px;font-weight:950}.coupon-manual-primary{background:linear-gradient(145deg,#f5fffe,#d7f0ed);border:3px solid #21817b;border-radius:22px;margin-top:17px;padding:17px;box-shadow:inset 0 2px #fff,0 6px #5ea9a4,0 13px 22px #17615d29}.coupon-manual-heading span{color:#1e6d68;letter-spacing:.09em;font-size:10px;font-weight:950;display:block}.coupon-manual-heading strong{color:#123f3c;margin-top:4px;font-size:21px;line-height:1.15;display:block}.coupon-manual-heading p{color:#3d625f;margin:6px 0 0;font-size:12px;font-weight:750;line-height:1.4}.coupon-manual-primary .coupon-form{margin-top:13px}.coupon-manual-primary .primary-detail-action{margin-top:2px}.coupon-scan-option{background:#f7f9fb;border:2px solid #b8c5d2;border-radius:17px;margin-top:16px;overflow:hidden}.coupon-scan-option summary{color:#33475c;letter-spacing:.045em;cursor:pointer;justify-content:center;align-items:center;min-height:56px;padding:0 16px;font-size:13px;font-weight:950;list-style:none;display:flex}.coupon-scan-option summary::-webkit-details-marker{display:none}.coupon-scan-option summary:before{content:"⌄";margin-right:9px;font-size:20px;transition:transform .15s}.coupon-scan-option[open] summary{background:#edf3f8;border-bottom:1px solid #d8e0e8}.coupon-scan-option[open] summary:before{transform:rotate(180deg)}.coupon-scan-body{padding:15px}.coupon-scan-body .coupon-camera{min-height:128px}.coupon-error{color:#8e2433;background:#fff3f5;border:2px solid #e0a6ae;border-radius:17px;margin-top:14px;padding:15px}.coupon-error strong{display:block}.coupon-error p{margin:5px 0 0;line-height:1.4}.coupon-result{background:#f5f7fa;border:3px solid #8798ab;border-radius:23px;grid-template-columns:60px 1fr;gap:15px;margin-top:16px;padding:20px;display:grid}.coupon-result.prize{background:linear-gradient(145deg,#f5fff8,#d9f2e2);border-color:#2d8758}.coupon-result.no-prize{background:#f2f4f7;border-color:#8f9aaa}.coupon-result>span{color:#fff;background:#718096;border-radius:50%;place-items:center;width:60px;height:60px;font-size:34px;font-weight:950;display:grid}.coupon-result.prize>span{background:#25814f}.coupon-result strong{color:#24523a;letter-spacing:.07em;font-size:13px}.coupon-result.no-prize strong{color:#4e596a}.coupon-result h3{margin:5px 0;font-size:22px;line-height:1.15}.coupon-result p{color:#5e6877;margin:0;font-size:13px}.coupon-result small{color:#33445b;margin-top:7px;font-size:12px;font-weight:900;display:block}.once-secondary-actions{grid-template-columns:1fr 1fr;gap:9px;margin-top:13px;display:grid}.once-secondary-actions a,.once-secondary-actions button{color:#314258;text-align:center;background:#f5f8fb;border:2px solid #b9c5d1;border-radius:15px;justify-content:center;align-items:center;min-height:50px;padding:9px;font-size:12px;font-weight:950;text-decoration:none;display:flex}.once-source{color:#667284;text-align:center;margin:12px 3px 0;font-size:11px;line-height:1.45}@media (max-width:520px){.app-shell{padding:max(21px, env(safe-area-inset-top)) max(15px, env(safe-area-inset-right)) max(17px, env(safe-area-inset-bottom)) max(15px, env(safe-area-inset-left))}.topbar{align-items:flex-start;gap:8px;margin-bottom:18px}.brand-block{gap:10px}.brand-logo{border-width:2px;border-radius:22%;width:61px;height:61px;box-shadow:0 5px #aab8c8,0 10px 17px #17203333}.app-name{letter-spacing:.035em;font-size:clamp(22px,6.4vw,28px)}.app-name:after{height:4px;margin-top:5px}.app-context{gap:5px;margin-top:6px;font-size:13px}.app-context span{font-size:10px}.header-actions{gap:7px}.settings-button,.listen-button{justify-content:center;min-width:54px;padding:0;font-size:0}.settings-button .header-action-label{display:none}.action-grid{gap:11px}.action-card{border-radius:22px;min-height:0}.action-icon{width:clamp(70px,12svh,104px);height:clamp(70px,12svh,104px)}.emergency-button{border-radius:22px;min-height:87px;margin-top:12px}.utility-row{grid-template-columns:1fr auto}.utility-row button{min-height:49px}.modal-backdrop{padding:8px}.move-service-backdrop{padding:7px}.move-service-panel{border-radius:24px;max-height:calc(100svh - 14px);padding:20px 11px 13px}.move-service-panel>p{margin-right:35px}.move-screen-list{grid-template-columns:1fr;gap:11px}.move-screen-list>section{border-radius:17px;padding:7px}.move-position-grid{gap:5px}.move-position-grid button{border-radius:12px;min-height:90px;padding-inline:2px}.move-position-grid img,.move-position-grid button>span{width:41px;height:41px;font-size:24px}.move-position-grid strong{font-size:8px}.detail-panel{border-radius:27px;padding:23px 18px}.calendar-modal-backdrop{padding:max(8px, env(safe-area-inset-top)) max(6px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(6px, env(safe-area-inset-left))}.calendar-detail-panel{width:100%;min-width:0;max-width:100%;padding-inline:clamp(8px,2.5vw,18px);overflow-x:hidden}.close-button{top:15px;right:15px}.detail-actions.two-columns{grid-template-columns:1fr}.detail-icon{width:78px;height:78px}.calendar-weekdays,.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr))}.install-guides{grid-template-columns:1fr}.pharmacy-update-note{flex-direction:column;align-items:flex-start}.service-selector{grid-template-columns:1fr}.service-selector button{min-height:58px}.button-order-grid{gap:8px}.button-order-grid article{padding:8px}.button-order-preview{min-height:119px}.family-contact-card img{width:78px;height:78px}.family-contact-card strong{font-size:25px}.family-contact-card p{font-size:20px}.family-photo-options{grid-template-columns:1fr}.feed-item h3{font-size:18px}.weather-wind-heading{grid-template-columns:78px 1fr;gap:12px}.wind-compass{width:78px;height:78px}.weather-rain-card{grid-template-columns:60px 1fr;gap:12px}.rain-drop{width:49px;height:59px}.medication-form>div,.coupon-form>div,.once-secondary-actions{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.action-card{transition:none}.detail-panel,.loading-cross,.coupon-camera.is-scanning .coupon-scan-lens,.calendar-month-content.slide-next,.calendar-month-content.slide-previous{animation:none}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
