.fll-soft-wrapper{--fll-border:#1e293b;--fll-primary:#b45309;--fll-primary-bg:#fef3c7;max-width:760px;margin:0 auto;font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:#1e293b;box-sizing:border-box}
.fll-soft-wrapper *{box-sizing:border-box}
.fll-card{background:#fff;border:2.5px solid var(--fll-border);border-radius:20px;padding:20px;box-shadow:4px 4px 0 var(--fll-border);margin-bottom:16px}
.fll-card-title{margin:0;font-size:18px;font-weight:900;text-wrap:balance;color:#0f172a}
.fll-soft-wrapper .fll-label{display:block;font-weight:800;font-size:13.5px;margin:13px 0 5px;color:#1e293b;opacity:1}
.fll-soft-wrapper .fll-inp{width:100%;border:2px solid var(--fll-border);border-radius:12px;padding:9px 11px;font-size:15px;font-weight:600;background:#fffef5;font-variant-numeric:tabular-nums;font-family:inherit;color:#0f172a;min-height:44px;opacity:1}
.fll-soft-wrapper .fll-caption{display:block;font-size:12.5px;color:#92400e;font-weight:700;margin-top:5px;min-height:17px;line-height:1.45}
.fll-grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}
.fll-err{display:none;color:#881337;font-weight:700;font-size:14px;margin:12px 0 0}
.fll-btn{width:100%;margin-top:14px;border:2.5px solid var(--fll-border);background:#d97706;color:#fff;border-radius:14px;padding:13px;font-weight:900;font-size:16px;cursor:pointer;min-height:48px;font-family:inherit;box-shadow:3px 3px 0 var(--fll-border);touch-action:manipulation;-webkit-tap-highlight-color:rgba(30,41,59,.08);transition:transform 100ms ease-out,background-color 150ms ease}
.fll-btn:hover{background:#b45309}
.fll-btn:active{transform:scale(.98)}
.fll-hint{font-size:13px;color:#526179;line-height:1.55;margin:12px 0 0}
.fll-inp:focus-visible,.fll-btn:focus-visible,.fll-del:focus-visible,.fll-clear:focus-visible{outline:3px solid #0284c7;outline-offset:2px}
.fll-ph{border:2px dashed #94a3b8;border-radius:16px;padding:18px;background:#f8fafc}
.fll-ph-title{margin:0 0 6px;font-weight:900;font-size:16px;color:#0f172a}
.fll-ph-text{margin:0;font-size:14px;line-height:1.6;color:#475569}
.fll-hero{background:linear-gradient(135deg,rgba(255,251,235,.94),rgba(254,243,199,.9));-webkit-backdrop-filter:blur(14px) saturate(160%);backdrop-filter:blur(14px) saturate(160%);border:2.5px solid var(--fll-border);border-radius:16px;padding:16px;box-shadow:3px 3px 0 var(--fll-border),inset 0 1px 0 rgba(255,255,255,.85);transform-origin:top center}
.fll-hero-cap{display:block;font-size:12.5px;font-weight:800;color:#92400e;letter-spacing:.01em}
.fll-hero-line{display:flex;align-items:baseline;gap:8px;margin-top:2px}
.fll-hero-val{font-size:46px;font-weight:900;line-height:1.05;letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:#0f172a}
.fll-hero-unit{font-size:19px;font-weight:900;color:#92400e}
.fll-hero-sub{display:block;font-size:13.5px;font-weight:700;color:#475569;margin-top:3px}
.fll-chart{margin-top:14px}
.fll-bar-row{display:flex;align-items:center;gap:8px;margin-top:6px;font-size:12.5px;font-weight:700;color:#475569}
.fll-bar-row .fll-bar-date{width:86px;flex:none;font-variant-numeric:tabular-nums}
.fll-bar-track{flex:1;height:14px;background:#f1f5f9;border-radius:999px;overflow:hidden;border:1.5px solid #e2e8f0}
.fll-bar-fill{height:100%;border-radius:999px}
.fll-bar-val{width:104px;flex:none;text-align:right;font-variant-numeric:tabular-nums;color:#0f172a;font-weight:800}
.fll-list-title{margin:16px 0 4px;font-size:15px;font-weight:900;color:#0f172a}
.fll-entry{display:flex;align-items:center;gap:10px;padding:9px 2px;border-bottom:1.5px dashed #e2e8f0;font-size:14px}
.fll-entry-main{flex:1;min-width:0}
.fll-entry-line1{font-weight:800;color:#0f172a;font-variant-numeric:tabular-nums}
.fll-entry-line2{color:#526179;font-weight:600;font-size:13px;font-variant-numeric:tabular-nums}
.fll-del{border:2px solid var(--fll-border);background:#fff1f2;color:#881337;border-radius:50%;width:38px;height:38px;min-height:38px;padding:0;display:inline-flex;align-items:center;justify-content:center;font-weight:900;font-size:16px;line-height:1;cursor:pointer;flex:none;font-family:inherit;touch-action:manipulation;transition:transform 100ms ease-out,background-color 150ms ease}
.fll-del:hover{background:#ffe4e6}
.fll-del:active{transform:scale(.94)}
.fll-clear{margin-top:14px;border:2px solid var(--fll-border);background:#fff;border-radius:999px;padding:8px 16px;font-weight:800;font-size:13.5px;cursor:pointer;min-height:44px;font-family:inherit;color:#881337;touch-action:manipulation;transition:transform 100ms ease-out,background-color 150ms ease}
.fll-clear:hover{background:#fff1f2}
.fll-clear:active{transform:scale(.97)}
@media (prefers-reduced-transparency:reduce){
  .fll-hero{background:#fffbeb;-webkit-backdrop-filter:none;backdrop-filter:none}
}

/* — Mobile guard 2026-10-24: chống tràn ngang (grid/flex blowout) và chống zoom khi chạm ô nhập — */
.fll-soft-wrapper{overflow-x:clip}
.fll-soft-wrapper *{min-width:0}
.fll-soft-wrapper input,.fll-soft-wrapper select,.fll-soft-wrapper textarea{font-size:16px !important;max-width:100%}
