/* 愛豐原卡：共用視覺系統。fy- 前綴避免覆蓋各子系統的業務元件。 */
:root{--fy-bg:#f7f8f4;--fy-surface:#fff;--fy-green:#173f36;--fy-green-hover:#245b49;--fy-lime:#d8ec97;--fy-ink:#233b35;--fy-muted:#65716b;--fy-border:#dce3dc;--fy-radius:10px;--fy-shadow:0 12px 36px #173f3608;--fy-serif:"Noto Serif TC","Songti TC","PMingLiU",serif;--fy-sans:"Noto Sans TC","Microsoft JhengHei",system-ui,sans-serif}
html{scroll-behavior:smooth;scroll-padding-top:100px}
body.fy-ui{margin:0;min-width:0;width:100%;height:auto;min-height:100vh;padding:0;display:block;background:var(--fy-bg);color:var(--fy-ink);font:16px/1.75 var(--fy-sans);text-align:left}
.fy-ui *,.fy-ui *::before,.fy-ui *::after{box-sizing:border-box}
.fy-ui [hidden]{display:none!important}
.fy-ui img{max-width:100%;height:auto}
.fy-ui a{color:var(--fy-green);text-underline-offset:4px}
.fy-ui a:hover{color:var(--fy-green-hover)}
.fy-ui button,.fy-ui input,.fy-ui select,.fy-ui textarea{font-family:var(--fy-sans)}
.fy-ui :focus-visible{outline:3px solid #789c42;outline-offset:4px}
.fy-icon{display:inline-block;width:22px;height:22px;flex:0 0 22px;vertical-align:middle}
.fy-container{width:min(1180px,calc(100% - 64px));margin-inline:auto}
.fy-visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.fy-community{display:flex;gap:20px;flex-wrap:wrap;padding:22px 0;border-top:1px solid var(--fy-border);font-size:13px;color:var(--fy-muted)}
.fy-community a{min-height:36px;display:inline-flex;align-items:center}.fy-community span{margin-left:auto;align-self:center}
.fy-ad-area{width:100%;max-width:970px;margin:0 auto 32px;padding:16px 0 20px;border-block:1px solid var(--fy-border);text-align:center}
.fy-ad-label{display:block;margin-bottom:12px;color:var(--fy-muted);font-size:11px;letter-spacing:.12em}
.fy-ad-banner{display:block;width:100%;height:90px}
.fy-ad-area:has(.adsbygoogle[data-ad-status="unfilled"]){display:none}
@media(max-width:700px){.fy-ad-banner{height:100px}.fy-ad-area{margin-bottom:24px}}
.fy-skip{position:fixed;top:8px;left:16px;z-index:10000;padding:12px 18px;background:white;transform:translateY(-180%)}
.fy-skip:focus{transform:translateY(0)}
.fy-header{position:relative;z-index:1001;background:#fff;border-bottom:1px solid var(--fy-border)}
.fy-header-inner{width:min(1280px,calc(100% - 64px));min-height:88px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:28px}
.fy-brand{display:inline-flex;align-items:center;gap:12px;font:700 27px/1.3 var(--fy-serif);letter-spacing:.14em;text-decoration:none!important;white-space:nowrap}
.fy-brand>.fy-icon{width:36px;height:42px;flex-basis:36px;color:#708b44}
.fy-brand small{display:block;margin-top:5px;font:400 10px/1.4 var(--fy-sans);letter-spacing:.18em;color:var(--fy-muted)}
.fy-navigation{display:flex;align-items:center;gap:32px}
.fy-navigation a{padding:12px 0;min-height:44px;font-size:14px;font-weight:600;text-decoration:none;border-bottom:2px solid transparent}
.fy-navigation a[aria-current]{border-color:var(--fy-green)}
.fy-menu-toggle{display:none!important}
.fy-button,.fy-ui button.btn,.fy-ui input[type=submit],.fy-ui a.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:46px;padding:10px 22px;border:1px solid var(--fy-green);border-radius:7px;background:var(--fy-green);color:white;font:600 15px/1.5 var(--fy-sans);text-decoration:none;cursor:pointer;transition:background .18s,box-shadow .18s}
.fy-ui a.fy-button{color:white}
.fy-navigation a.fy-button{padding:10px 18px;border:1px solid var(--fy-green)}
.fy-button:hover,.fy-ui a.fy-button:hover,.fy-ui .btn-primary:hover{background:var(--fy-green-hover);color:white;text-decoration:none;box-shadow:0 3px 12px #173f3614}
.fy-button-outline,.fy-ui a.fy-button-outline,.fy-ui .btn-secondary{background:transparent;color:var(--fy-green)}
.fy-button-outline:hover,.fy-ui .btn-secondary:hover{background:#eaf0e5;color:var(--fy-green)}
.fy-ui .btn-danger{background:#a83232;border-color:#a83232}
.fy-ui .btn-warning{background:#f4d993;border-color:#ddbd6f;color:#493809}
.fy-ui .btn-success{background:#2e684f;border-color:#2e684f}
.fy-ui button:disabled{opacity:.6;cursor:not-allowed}
.fy-hero{display:grid;grid-template-columns:1fr 1.12fr;align-items:center;gap:52px;padding-block:44px 56px}
.fy-hero h1{font:700 clamp(34px,3.7vw,52px)/1.5 var(--fy-serif);letter-spacing:.02em;margin:0 0 24px;color:#123b32}
.fy-hero p{color:var(--fy-muted);font-size:16px;line-height:2;margin:0 0 26px;max-width:490px}
.fy-hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.fy-hero figure{margin:0;position:relative}
.fy-hero img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:5px}
.fy-hero figcaption{position:absolute;right:12px;bottom:10px;font-size:11px;background:#fffE;padding:2px 8px;border-radius:3px;color:#405147}
.fy-hero-note{display:block;margin-top:40px;font-family:var(--fy-serif);color:#6a805e;font-size:16px;letter-spacing:.12em}
.fy-directory{padding-bottom:64px;scroll-margin-top:28px}
.fy-section-heading{text-align:center;margin-bottom:28px}
.fy-section-heading h2{font:700 clamp(28px,3vw,38px)/1.5 var(--fy-serif);margin:0 0 6px}
.fy-section-heading p{margin:0;color:var(--fy-muted)}
.fy-search{display:flex;align-items:center;gap:12px;background:white;border:1px solid #bcc9bf;border-radius:8px;padding:0 18px;min-height:60px}
.fy-search:focus-within{border-color:var(--fy-green);box-shadow:0 0 0 3px #d8ec9780}
.fy-search input{flex:1;min-width:0;border:0!important;background:transparent!important;padding:16px 0!important;box-shadow:none!important;outline:none!important;font-size:16px;color:var(--fy-ink)}
.fy-clear{border:0;background:transparent;min-height:44px;padding:8px;color:var(--fy-muted);cursor:pointer;font-size:14px}
.fy-filters{display:flex;gap:9px;flex-wrap:wrap;margin:16px 0 24px}
.fy-filter{flex:1 0 auto;min-height:44px;padding:10px 15px;font:500 14px/1.5 var(--fy-sans);border:1px solid var(--fy-border);border-radius:7px;background:#fff;color:var(--fy-ink);cursor:pointer}
.fy-filter[aria-pressed=true]{background:var(--fy-green);color:white;border-color:var(--fy-green)}
.fy-filter:hover{border-color:var(--fy-green)}
.fy-list-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px;color:var(--fy-muted);font-size:14px}
.fy-list-toolbar p{margin:0}
.fy-list-toolbar select{border:0;background:transparent;padding:10px;min-height:44px;color:var(--fy-muted);font-size:14px;max-width:100%}
.fy-store-list{display:grid;gap:12px}
.fy-store{display:grid;grid-template-columns:1fr 1.4fr auto;align-items:center;gap:28px;background:white;border:1px solid var(--fy-border);border-radius:9px;padding:22px 26px;box-shadow:0 2px 6px #173f3603}
.fy-store:hover{border-color:#9cae9e}
.fy-store-kind{display:block;color:#567335;font-size:12px;font-weight:600;letter-spacing:.06em;margin-bottom:5px}
.fy-store h3{font:700 22px/1.5 var(--fy-serif);margin:0}
.fy-store h3 a{text-decoration:none}
.fy-store-detail{min-width:0;font-size:14px}
.fy-store-detail p{display:flex;align-items:flex-start;gap:9px;margin:6px 0;color:var(--fy-muted);overflow-wrap:anywhere}
.fy-store-detail .fy-icon{width:18px;height:20px;flex-basis:18px;margin-top:2px}
.fy-store-offer{color:var(--fy-ink)!important}
.fy-store-actions{display:flex;gap:8px;flex-wrap:wrap;max-width:210px}
.fy-store-actions .fy-button{font-size:13px;min-height:44px;padding:8px 13px}
.fy-store-secondary{width:100%;display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end}
.fy-store-secondary a{font-size:12px;min-height:32px;display:inline-flex;align-items:center;color:var(--fy-muted)}
.fy-empty{text-align:center;padding:44px 20px;background:white;border:1px dashed var(--fy-border);border-radius:8px}
.fy-empty h3{font-size:20px;margin:0 0 6px}
.fy-empty p{color:var(--fy-muted);margin:0 0 20px}
.fy-account{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 0;margin-bottom:4px;border-bottom:1px solid var(--fy-border);font-size:14px}
.fy-account p{margin:0;color:var(--fy-muted)}
.fy-account-links{display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.fy-notice{padding:16px 20px;background:#fff4df;border:1px solid #ead5a6;border-radius:8px;margin:24px 0;color:#634e24}
.fy-footer{padding:36px 0;background:var(--fy-green);color:#e8f0e7}
.fy-footer-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.fy-footer a,.fy-footer .fy-brand small{color:#e8f0e7}
.fy-footer nav{display:flex;gap:24px;flex-wrap:wrap}
.fy-footer nav a{font-size:13px;text-decoration:none;min-height:44px;display:inline-flex;align-items:center}
.fy-footer p{width:100%;border-top:1px solid #ffffff28;padding-top:18px;margin:0;font-size:12px;color:#c5d3c8}
/* 表單與既有 Bootstrap 頁面 */
.fy-ui.fy-page>.container,.fy-ui.fy-page>.container-fluid,.fy-ui.fy-page>.form-signin,.fy-ui.fy-page>form,.fy-ui.fy-page>h1,.fy-ui.fy-page>h2,.fy-ui.fy-page>p{width:min(920px,calc(100% - 48px));max-width:920px;margin-inline:auto}
.fy-ui.fy-page>.container,.fy-ui.fy-page>.container-fluid{margin-block:36px 64px;padding:32px;background:var(--fy-surface);color:var(--fy-ink);border:1px solid var(--fy-border);border-radius:12px;box-shadow:var(--fy-shadow)}
.fy-ui.fy-page>form,.fy-ui.fy-page>.form-signin{padding:32px;background:white;border:1px solid var(--fy-border);border-radius:12px;margin-block:28px 64px;box-shadow:var(--fy-shadow)}
.fy-ui.fy-page>h1,.fy-ui.fy-page>h2{margin-top:36px}
.fy-ui.fy-page h1,.fy-ui.fy-page h2{font-family:var(--fy-serif);color:var(--fy-green);line-height:1.55;overflow-wrap:anywhere}
.fy-ui.fy-page h1{font-size:clamp(25px,3vw,36px);font-weight:700;margin-bottom:24px!important}
.fy-ui.fy-page h2{font-size:clamp(23px,2.5vw,30px)}
.fy-ui.fy-page .form-label,.fy-ui.fy-page .form-group>label,.fy-ui.fy-page label:not(.form-check-label){font-size:14px;font-weight:600;color:var(--fy-ink);margin-bottom:8px}
.fy-ui.fy-page input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=submit]):not([type=file]),.fy-ui.fy-page textarea,.fy-ui.fy-page select{width:100%;max-width:100%;min-height:48px;border:1px solid #bdcabe;border-radius:7px;padding:11px 13px;background:white;color:var(--fy-ink);font-size:16px;line-height:1.5;box-shadow:none}
.fy-ui.fy-page textarea{min-height:120px;resize:vertical}
.fy-ui.fy-page input[readonly]{background:#f0f3ec!important;color:#596b5f!important}
.fy-ui.fy-page input:focus,.fy-ui.fy-page select:focus,.fy-ui.fy-page textarea:focus{border-color:#49755b;outline:2px solid #d8ec97;outline-offset:1px}
.fy-ui.fy-page .form-text,.fy-ui.fy-page .map-instruction{font-size:13px;color:#65716b;margin-top:7px}
.fy-ui.fy-page .form-group,.fy-ui.fy-page .mb-3{margin-bottom:24px!important}
.fy-ui.fy-page .time-inputs{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.fy-ui.fy-page .time-inputs input{flex:1;min-width:110px}
.fy-ui.fy-page .day-checkboxes{display:flex;flex-wrap:wrap;gap:8px}
.fy-ui.fy-page .day-checkboxes label{display:inline-flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid var(--fy-border);border-radius:6px;background:#f9faf7;min-height:44px;cursor:pointer}
.fy-ui input[type=checkbox],.fy-ui input[type=radio]{accent-color:var(--fy-green);min-width:18px;min-height:18px;vertical-align:middle}
.fy-ui.fy-page .card{border:1px solid var(--fy-border);border-radius:10px;box-shadow:var(--fy-shadow)}
.fy-ui.fy-page .card-header{background:#edf2e7;color:var(--fy-green);border-bottom:1px solid var(--fy-border)}
.fy-ui.fy-page #map{position:relative;height:300px;min-height:0;max-height:45vh;border:1px solid var(--fy-border);border-radius:10px;margin-block:12px;background:#f0f3ec}
.fy-ui.fy-page .map-instruction{background:#edf2e7;color:#4d6153;padding:12px 16px;border-radius:7px}
.fy-ui.fy-page #locationButton{background:#edf2e7;color:var(--fy-green);border:1px solid #b9cbb5}
.fy-ui.fy-page .map-controls{display:flex;justify-content:flex-end}
.fy-ui.fy-page .form-signin{max-width:480px;margin-top:52px}
.fy-ui.fy-page .form-signin .sr-only{position:static;width:auto;height:auto;clip:auto;overflow:visible;text-align:left;display:block}
.fy-ui.fy-page .form-signin input{margin-bottom:20px}
.fy-form-intro{max-width:900px;margin:32px auto 0;padding:0 24px}
.fy-form-intro p{color:var(--fy-muted)}
.fy-form-description{text-align:center;color:var(--fy-muted);font-size:15px;max-width:620px;margin:0 auto 28px}
.fy-ui.fy-page .fy-form-grid{margin-top:28px}
.fy-ui.fy-page .fy-form-grid .text-center{margin-top:8px!important}
.fy-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 28px}
.fy-form-grid>.fy-full{grid-column:1/-1}
.fy-required{color:#a44336;font-size:13px;margin-left:6px}
.fy-faq{max-width:900px;margin:0 auto 48px}
.fy-faq h2{font:700 clamp(24px,3vw,32px)/1.6 var(--fy-serif);margin:0 0 20px}
.fy-faq details{border-bottom:1px solid var(--fy-border);padding:16px 0}
.fy-faq summary{cursor:pointer;font-weight:600;min-height:44px;padding:8px 0}
.fy-faq details p{margin:8px 0 12px;color:var(--fy-muted);line-height:1.9}
.fy-captcha-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.fy-captcha-controls img{width:180px;height:64px;border:1px solid var(--fy-border);border-radius:8px}
.fy-field-hint{font-size:13px;color:var(--fy-muted);margin:5px 0 0}
.fy-validation-summary{background:#fff2ed;border-left:3px solid #ab4c38;padding:12px 16px;color:#853f31;grid-column:1/-1;margin-bottom:20px}
.fy-ui .fy-table-scroll{overflow-x:auto;max-width:100%;border:1px solid var(--fy-border);border-radius:8px;background:white;overscroll-behavior-x:contain}
.fy-ui .fy-table-scroll table{width:100%;margin:0;border-collapse:collapse;min-width:640px}
.fy-ui .fy-table-scroll th{background:#edf2e7!important;color:var(--fy-green)!important;font-size:13px;font-weight:600;white-space:nowrap}
.fy-ui .fy-table-scroll td,.fy-ui .fy-table-scroll th{padding:14px 16px;border-bottom:1px solid var(--fy-border);vertical-align:middle}
.fy-ui .fy-table-scroll td{font-size:14px}
.fy-ui .fy-table-scroll tbody tr:hover{background:#f7faf1}
.fy-scroll-hint{display:none;font-size:12px;color:var(--fy-muted);margin:8px 0}
.fy-ui .alert{border-radius:8px;line-height:1.7}
/* 地圖保留原生互動，導覽與地圖高度互不遮擋。 */
.fy-ui.fy-map{height:100vh;height:100dvh;display:flex;flex-direction:column;overflow:hidden}
.fy-map>.fy-header{flex:none}
.fy-ui.fy-map .map-title-container{position:relative;top:auto;left:auto;transform:none;width:100%;max-width:none;flex:none;padding:12px 20px;margin:0;background:white;box-shadow:none;border-bottom:1px solid var(--fy-border);border-radius:0;z-index:10}
.fy-map .controls-container{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.fy-map .controls-container input,.fy-map .controls-container select{min-height:44px;font-size:16px;max-width:100%}
.fy-map .title-text{color:var(--fy-green);font-size:17px}
.fy-map>main,.fy-map>#map{flex:1;min-height:0;position:relative;width:100%;height:auto}
.fy-ui.fy-map #iw-container .iw-title{background:var(--fy-green);color:white}
.fy-ui.fy-map .offer-content{border-left-color:#8aa852;background:#f0f4e8}
.fy-ui.fy-map .offer-content h3{color:var(--fy-green)}
.fy-ui.fy-map .action-button{background:var(--fy-green);border-radius:6px;min-height:44px}
.fy-ui .fy-map-fallback{position:absolute;inset:30% 24px auto;margin:auto;max-width:440px;background:white;border:1px solid var(--fy-border);padding:24px;border-radius:10px;text-align:center;box-shadow:var(--fy-shadow);z-index:2}
/* 子系統沿用既有導覽與權限，只套用視覺元件。 */
.fy-ui.fy-app{font-family:var(--fy-sans);background:var(--fy-bg);color:var(--fy-ink)}
.fy-app h1,.fy-app h2{color:var(--fy-green)}
.fy-app input:not([type=checkbox]):not([type=radio]):not([type=hidden]),.fy-app select,.fy-app textarea{font-size:16px;max-width:100%;border-radius:7px}
.fy-app .header,.fy-app>nav{border-bottom:1px solid var(--fy-border)}
.fy-app .header-nav{flex-wrap:wrap}
.fy-ui.fy-app.login-page{display:grid;place-items:center;padding:32px 20px}
.fy-app.login-page .login-container{width:100%;max-width:440px}
.fy-app.login-page .login-box{padding:32px 28px;border:1px solid var(--fy-border);border-radius:12px;box-shadow:var(--fy-shadow)}
.fy-app.login-page input:not([type=hidden]){width:100%;min-height:48px;padding:10px 12px;border:1px solid #bdcbbf;background:white;color:var(--fy-ink)}
.fy-ui .fy-back-top{position:fixed;right:20px;bottom:20px;z-index:1000;background:var(--fy-green);color:white;border:1px solid #ffffff70;border-radius:50%;width:46px;height:46px;cursor:pointer;box-shadow:0 4px 16px #173f3622}
.fy-back-top .fy-icon{transform:rotate(-90deg)}
@media(min-width:1200px){.fy-ui.fy-admin>.container,.fy-ui.fy-admin>.container-fluid{max-width:1280px;width:calc(100% - 64px)}}
@media(max-width:900px){.fy-header-inner{gap:16px}.fy-navigation{gap:18px}.fy-hero{gap:30px}.fy-hero h1{font-size:38px}.fy-store{grid-template-columns:1fr 1.3fr;gap:16px}.fy-store-actions{grid-column:1/-1;max-width:none;justify-content:flex-end}.fy-store-secondary{width:auto;align-items:center}.fy-hero-note{margin-top:24px}}
@media(max-width:700px){
  .fy-container,.fy-header-inner{width:calc(100% - 40px)}
  .fy-header-inner{min-height:76px;flex-wrap:wrap;gap:0;position:relative}
  .fy-brand{font-size:23px;letter-spacing:.1em}.fy-brand>.fy-icon{width:29px;flex-basis:29px;height:34px}.fy-brand small{font-size:9px}
  .fy-menu-toggle{display:inline-flex!important;font-size:13px;min-height:42px;padding:8px 12px}
  .fy-navigation{display:none;width:100%;padding:12px 0 20px;gap:6px;flex-direction:column;align-items:stretch}
  .fy-navigation.is-open{display:flex}.fy-navigation a{padding:12px 14px;border-bottom:0;border-radius:6px}.fy-navigation a[aria-current]{background:#edf2e7}
  .fy-hero{grid-template-columns:1fr;padding-block:30px 38px;gap:28px}.fy-hero h1{font-size:35px;line-height:1.5;margin-bottom:16px}.fy-hero p{font-size:15px;margin-bottom:20px}.fy-hero-note{display:none}.fy-hero-actions .fy-button{flex:1;padding-inline:12px}.fy-hero img{aspect-ratio:16/10}.fy-hero figcaption{font-size:10px}
  .fy-section-heading{margin-bottom:20px}.fy-section-heading h2{font-size:27px}.fy-section-heading p{font-size:14px}
  .fy-search{min-height:54px;padding-inline:14px}.fy-search input{font-size:16px}.fy-clear{font-size:12px}
  .fy-filters{flex-wrap:nowrap;overflow-x:auto;margin-right:-20px;padding-right:20px;padding-bottom:8px;scrollbar-width:thin;scrollbar-color:#aebfa7 transparent}.fy-filter{flex:none;min-height:44px;font-size:13px;padding:10px 16px}
  .fy-store{grid-template-columns:1fr;padding:20px;gap:10px}.fy-store h3{font-size:22px}.fy-store-detail{font-size:14px}.fy-store-actions{grid-column:auto;justify-content:flex-start;margin-top:3px}.fy-store-actions>.fy-button{flex:1}.fy-store-secondary{width:100%;justify-content:flex-start;gap:20px}.fy-store-secondary a{min-height:36px}
  .fy-list-toolbar{gap:8px;font-size:12px}.fy-list-toolbar select{font-size:12px;padding-right:0}.fy-directory{padding-bottom:40px}
  .fy-account{align-items:flex-start;flex-wrap:wrap}.fy-account-links{gap:12px}.fy-account p{font-size:13px}
  .fy-footer{padding:28px 0}.fy-footer nav{gap:8px 24px}.fy-footer-inner{gap:20px}
  .fy-ui.fy-page>.container,.fy-ui.fy-page>.container-fluid{width:calc(100% - 32px);margin:22px auto 40px;padding:22px 18px;border-radius:9px}
  .fy-ui.fy-page>form,.fy-ui.fy-page>.form-signin{width:calc(100% - 32px);padding:24px 20px;margin:24px auto 40px}
  .fy-ui.fy-page>h1,.fy-ui.fy-page>h2{width:calc(100% - 40px);font-size:26px}
  .fy-ui.fy-page h1{font-size:24px!important;text-wrap:balance}.fy-ui.fy-page .row{row-gap:8px}.fy-ui.fy-page .form-row{display:block}.fy-ui.fy-page .form-row>[class*=col]{width:100%;max-width:100%}
  .fy-form-grid{grid-template-columns:1fr;gap:0}.fy-form-grid>.fy-full{grid-column:auto}.fy-ui.fy-page #map{height:230px}.fy-ui.fy-page .time-inputs{flex-wrap:nowrap}.fy-ui.fy-page .time-inputs input{min-width:0;width:0!important}.fy-ui.fy-page .time-inputs span{margin:0!important}
  .fy-ui.fy-page .form-signin .btn,.fy-ui.fy-page form>.text-center .btn{width:100%}.fy-scroll-hint{display:block}
  .fy-app .header{height:auto;flex-wrap:wrap;padding:16px;gap:12px}.fy-app .header h1{font-size:22px}.fy-app .header-nav{gap:12px}.fy-app .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fy-back-top{right:12px!important;bottom:12px!important}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.fy-ui *{animation:none!important;transition:none!important}}
@media print{.fy-header,.fy-footer,.fy-filters,.fy-search,.fy-back-top,.fy-store-actions,.fy-account{display:none!important}.fy-ui{background:white!important}.fy-store{break-inside:avoid}.fy-container{width:100%}}
