@font-face{font-family:__Noto_Sans_Lao_Looped_aca580;font-style:normal;font-weight:100;font-stretch:100%;font-display:swap;src:url(/_next/static/media/dda6f026169ea74e-s.p.woff2) format("woff2");unicode-range:u+0e81-0edf,u+200c-200d,u+25cc}@font-face{font-family:__Noto_Sans_Lao_Looped_aca580;font-style:normal;font-weight:100;font-stretch:100%;font-display:swap;src:url(/_next/static/media/9b58dd577205c46f-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Noto_Sans_Lao_Looped_aca580;font-style:normal;font-weight:100;font-stretch:100%;font-display:swap;src:url(/_next/static/media/2174fecd27b8c42a-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Noto_Sans_Lao_Looped_aca580;font-style:normal;font-weight:200;font-stretch:100%;font-display:swap;src:url(/_next/static/media/dda6f026169ea74e-s.p.woff2) format("woff2");unicode-range:u+0e81-0edf,u+200c-200d,u+25cc}@font-face{font-family:__Noto_Sans_Lao_Looped_aca580;font-style:normal;font-weight:200;font-stretch:100%;font-display:swap;src:url(/_next/static/media/9b58dd577205c46f-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Noto_Sans_Lao_Looped_aca580;font-style:normal;font-weight:200;font-stretch:100%;font-display:swap;src:url(/_next/static/media/2174fecd27b8c42a-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Noto_Sans_Lao_Looped_aca580;font-style:normal;font-weight:300;font-stretch:100%;font-display:swap;src:url(/_next/static/media/dda6f026169ea74e-s.p.woff2) format("woff2");unicode-range:u+0e81-0edf,u+200c-200d,u+25cc}@font-face{font-family:__Noto_Sans_Lao_Looped_aca580;font-style:normal;font-weight:300;font-stretch:100%;font-display:swap;src:url(/_next/static/media/9b58dd577205c46f-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Noto_Sans_Lao_Looped_aca580;font-style:normal;font-weight:300;font-stretch:100%;font-display:swap;src:url(/_next/static/media/2174fecd27b8c42a-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Noto_Sans_Lao_Looped_aca580;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/dda6f026169ea74e-s.p.woff2) format("woff2");unicode-range:u+0e81-0edf,u+200c-200d,u+25cc}@font-face{font-family:__Noto_Sans_Lao_Looped_aca580;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/9b58dd577205c46f-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Noto_Sans_Lao_Looped_aca580;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/2174fecd27b8c42a-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Noto_Sans_Lao_Looped_aca580;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/dda6f026169ea74e-s.p.woff2) format("woff2");unicode-range:u+0e81-0edf,u+200c-200d,u+25cc}@font-face{font-family:__Noto_Sans_Lao_Looped_aca580;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/9b58dd577205c46f-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Noto_Sans_Lao_Looped_aca580;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/2174fecd27b8c42a-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Noto_Sans_Lao_Looped_aca580;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/dda6f026169ea74e-s.p.woff2) format("woff2");unicode-range:u+0e81-0edf,u+200c-200d,u+25cc}@font-face{font-family:__Noto_Sans_Lao_Looped_aca580;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/9b58dd577205c46f-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Noto_Sans_Lao_Looped_aca580;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/2174fecd27b8c42a-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Noto_Sans_Lao_Looped_aca580;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/dda6f026169ea74e-s.p.woff2) format("woff2");unicode-range:u+0e81-0edf,u+200c-200d,u+25cc}@font-face{font-family:__Noto_Sans_Lao_Looped_aca580;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/9b58dd577205c46f-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Noto_Sans_Lao_Looped_aca580;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/2174fecd27b8c42a-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Noto_Sans_Lao_Looped_aca580;font-style:normal;font-weight:800;font-stretch:100%;font-display:swap;src:url(/_next/static/media/dda6f026169ea74e-s.p.woff2) format("woff2");unicode-range:u+0e81-0edf,u+200c-200d,u+25cc}@font-face{font-family:__Noto_Sans_Lao_Looped_aca580;font-style:normal;font-weight:800;font-stretch:100%;font-display:swap;src:url(/_next/static/media/9b58dd577205c46f-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Noto_Sans_Lao_Looped_aca580;font-style:normal;font-weight:800;font-stretch:100%;font-display:swap;src:url(/_next/static/media/2174fecd27b8c42a-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Noto_Sans_Lao_Looped_aca580;font-style:normal;font-weight:900;font-stretch:100%;font-display:swap;src:url(/_next/static/media/dda6f026169ea74e-s.p.woff2) format("woff2");unicode-range:u+0e81-0edf,u+200c-200d,u+25cc}@font-face{font-family:__Noto_Sans_Lao_Looped_aca580;font-style:normal;font-weight:900;font-stretch:100%;font-display:swap;src:url(/_next/static/media/9b58dd577205c46f-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Noto_Sans_Lao_Looped_aca580;font-style:normal;font-weight:900;font-stretch:100%;font-display:swap;src:url(/_next/static/media/2174fecd27b8c42a-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Noto_Sans_Lao_Looped_Fallback_aca580;src:local("Arial");ascent-override:117.56%;descent-override:32.92%;line-gap-override:0.00%;size-adjust:106.33%}.__className_aca580{font-family:__Noto_Sans_Lao_Looped_aca580,__Noto_Sans_Lao_Looped_Fallback_aca580;font-style:normal}.__variable_aca580{--font-lao:"__Noto_Sans_Lao_Looped_aca580","__Noto_Sans_Lao_Looped_Fallback_aca580"}:root{--background:#f4f6f8;--foreground:#1e293b;--card-bg:#fff;--border:#e2e8f0;--primary:#f97316;--primary-hover:#ea580c;--danger:#ef4444;--success:#22c55e;--shadow:0 4px 6px -1px rgba(0,0,0,.05),0 2px 4px -2px rgba(0,0,0,.05);--font-family:var(--font-lao),sans-serif;font-family:var(--font-lao),sans-serif!important}[data-theme=dark]{--background:#0d1117;--foreground:#c9d1d9;--card-bg:#161b22;--border:#30363d;--primary:#f97316;--primary-hover:#fb923c;--danger:#da3633;--success:#238636;--shadow:none;--font-family:inherit}[data-theme=dark] .logo-wrapper{filter:invert(1) hue-rotate(180deg)}*{box-sizing:border-box}button,input,select,textarea{font-family:var(--font-lao),sans-serif!important}body,html{margin:0;padding:0;width:100%;height:100%;overflow-y:auto;-webkit-overflow-scrolling:touch;touch-action:pan-y pinch-zoom;-webkit-tap-highlight-color:transparent;-webkit-user-select:auto;-moz-user-select:auto;user-select:auto}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}body{color:var(--foreground);background:var(--background);font-family:var(--font-lao),sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color .2s ease,color .2s ease;overflow-x:hidden}.selectable-text,input,textarea{-moz-user-select:text!important;user-select:text!important;-webkit-user-select:text!important}.app-wrapper{flex-direction:column}.app-wrapper,.container{width:100%;min-height:100%;display:flex;position:relative;z-index:1}.container{flex:1 1;flex-direction:column;padding:1rem;max-width:500px;margin:0 auto}@media (max-width:400px){.container{padding:.5rem}}.theme-toggle{background:var(--card-bg);border:1px solid var(--border);color:var(--foreground);width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.theme-toggle:hover{background:rgba(249,115,22,.05);border-color:var(--primary)}.glass-card{background:var(--card-bg);backdrop-filter:none;-webkit-backdrop-filter:none;border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow);width:100%;transition:transform .2s,background-color .3s,border-color .3s}h1,h2,h3{color:var(--foreground);margin-top:0;font-weight:700;letter-spacing:-.025em}[data-theme=dark] h1,[data-theme=dark] h2,[data-theme=dark] h3{letter-spacing:0;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace}label{display:block;font-size:.875rem;font-weight:500;margin-bottom:.5rem;opacity:.9}input,label{color:var(--foreground)}input{width:100%;padding:.75rem 1rem;border-radius:8px;border:1px solid var(--border);background:transparent;font-size:1rem;margin-bottom:1rem;transition:all .2s;font-family:inherit}input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 1px var(--primary)}.admin-input{width:100%;padding:.6rem .8rem;border-radius:8px;border:1px solid var(--border);background:var(--card-bg);color:var(--foreground);font-size:.9rem;transition:all .2s}.admin-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 1px var(--primary)}.btn-primary{background:var(--primary);color:#fff;border:1px solid transparent;padding:.75rem;border-radius:8px;font-weight:600;font-size:1rem;cursor:pointer;transition:background .2s,transform .1s;width:100%;font-family:inherit}.btn-primary:active{transform:scale(.98)}.btn-primary:hover:not(:disabled){background:var(--primary-hover)}.btn-primary:disabled{opacity:.6;cursor:not-allowed;filter:grayscale(100%)}@keyframes pulse-success{0%{box-shadow:0 0 0 0 rgba(34,197,94,.4)}70%{box-shadow:0 0 0 15px rgba(34,197,94,0)}to{box-shadow:0 0 0 0 rgba(34,197,94,0)}}@keyframes pulse-danger{0%{box-shadow:0 0 0 0 rgba(239,68,68,.4)}70%{box-shadow:0 0 0 15px rgba(239,68,68,0)}to{box-shadow:0 0 0 0 rgba(239,68,68,0)}}.pulse-success{animation:pulse-success 2s infinite}.pulse-danger{animation:pulse-danger 2s infinite}.dialog-overlay{position:fixed;inset:0;background:rgba(0,0,0,.4);display:flex;align-items:center;justify-content:center;z-index:6000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:fadeIn .15s ease-out forwards;pointer-events:auto}.dialog-content{background:var(--card-bg);border:1px solid var(--border);padding:2rem;border-radius:12px;width:90%;max-width:400px;box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);animation:fadeIn .3s cubic-bezier(.16,1,.3,1) forwards;pointer-events:auto}.dialog-content,.title{color:var(--foreground);text-align:center}.title{font-size:1.75rem;font-weight:800;margin-bottom:2rem}.history-card{position:relative;overflow:hidden}.history-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--accent-color,var(--primary))}.glass-card:hover{transform:translateY(-2px);transition:transform .2s ease}.spinner{width:24px;height:24px;border:3px solid rgba(249,115,22,.2);border-top:3px solid var(--primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.loading-overlay{inset:0;background:rgba(0,0,0,.4);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);flex-direction:column;justify-content:center;z-index:9999;gap:1rem;color:#fff;pointer-events:auto}.bottom-nav,.loading-overlay{position:fixed;display:flex;align-items:center}.bottom-nav{bottom:0;left:0;right:0;justify-content:space-around;background:var(--card-bg);border-top:1px solid var(--border);padding:.5rem .25rem calc(.5rem + env(safe-area-inset-bottom));z-index:2000;box-shadow:0 -5px 20px rgba(0,0,0,.05);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);height:auto;min-height:70px;touch-action:none;transform:translateZ(0);will-change:transform;-webkit-backface-visibility:hidden;backface-visibility:hidden}.nav-item{display:flex;flex-direction:column;align-items:center;gap:.25rem;flex:1 1;text-decoration:none;color:var(--foreground);opacity:.5;transition:all .2s;cursor:pointer;font-size:.7rem;font-weight:500}.nav-item.active{opacity:1;color:var(--primary)}.nav-icon{font-size:1.5rem;transition:transform .2s ease}.nav-item:active .nav-icon{transform:scale(.9)}.nav-item-center{position:relative;top:-25px;display:flex;flex-direction:column;align-items:center;gap:4px;z-index:2001}.nav-item-center .nav-icon-wrapper{width:64px;height:64px;background:var(--primary);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.8rem;box-shadow:0 8px 20px -5px rgba(249,115,22,.5);border:4px solid var(--card-bg);transition:all .3s cubic-bezier(.175,.885,.32,1.275)}.nav-item-center.active .nav-icon-wrapper{transform:scale(1.1) rotate(5deg);box-shadow:0 12px 25px -5px rgba(249,115,22,.6)}.nav-item-center span{font-size:.7rem;font-weight:800;color:var(--primary);text-transform:uppercase;letter-spacing:.05em;margin-top:-5px}.center-fab-icon{color:#fff!important;fill:#fff!important;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.coming-soon-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:200px;padding:3rem 1rem;text-align:center;animation:fadeIn .5s ease-out}.coming-soon-badge{background:rgba(249,115,22,.1);color:var(--primary);padding:.25rem .75rem;border-radius:20px;font-size:.8rem;font-weight:700;margin-bottom:1rem}.checkmark{width:80px;height:80px;border-radius:50%;display:block;stroke:#22c55e;box-shadow:inset 0 0 0 #22c55e;animation:fill .4s ease-in-out .4s forwards,scale .3s ease-in-out .9s both;margin:0 auto 1.5rem}.checkmark,.checkmark__circle{stroke-width:4;stroke-miterlimit:10}.checkmark__circle{stroke-dasharray:166;stroke-dashoffset:166;stroke:#22c55e;fill:none;animation:stroke .6s cubic-bezier(.65,0,.45,1) forwards}.checkmark__check{transform-origin:50% 50%;stroke-dasharray:48;stroke-dashoffset:48;stroke:#fff;animation:stroke .3s cubic-bezier(.65,0,.45,1) .8s forwards}@keyframes stroke{to{stroke-dashoffset:0}}@keyframes scale{0%,to{transform:none}50%{transform:scale3d(1.1,1.1,1)}}@keyframes fill{to{box-shadow:inset 0 0 0 40px #22c55e}}.otp-container{display:flex;gap:.5rem;justify-content:center;margin-bottom:1rem}.otp-digit{width:45px;height:55px;font-size:1.5rem;font-weight:700;text-align:center;border:1px solid var(--border);border-radius:8px;background:var(--card-bg);color:var(--foreground);transition:all .2s}.otp-digit:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px rgba(249,115,22,.2);transform:translateY(-2px)}.pwa-install-banner{position:fixed;bottom:calc(90px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:90%;max-width:450px;background:hsla(0,0%,100%,.9);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--border);border-radius:12px;box-shadow:0 10px 25px -5px rgba(0,0,0,.1);z-index:2000;padding:.8rem;animation:slideUp .3s ease-out}[data-theme=dark] .pwa-install-banner{background:rgba(22,27,34,.9)}.pwa-content{display:flex;align-items:center;gap:1rem}.pwa-text{flex:1 1}.pwa-install-btn{background:var(--primary);color:#fff;border:none;padding:.4rem .8rem;border-radius:6px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:.4rem;font-size:.85rem}.pwa-close-btn{background:transparent;border:none;color:var(--foreground);opacity:.6;cursor:pointer;font-size:1rem;padding:.2rem}.pwa-ios-instructions{display:flex;align-items:center;gap:.5rem;font-size:.75rem;font-weight:500;background:var(--background);padding:.4rem;border-radius:6px}@keyframes slideUp{0%{transform:translate(-50%,20px);opacity:0}to{transform:translate(-50%);opacity:1}}@keyframes slideDown{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes pulseSuccess{0%{transform:scale(1);box-shadow:0 4px 14px 0 rgba(34,197,94,.3)}50%{transform:scale(1.02);box-shadow:0 4px 20px 0 rgba(34,197,94,.5)}to{transform:scale(1);box-shadow:0 4px 14px 0 rgba(34,197,94,.3)}}.ai-fab{position:fixed;bottom:calc(140px + env(safe-area-inset-bottom));right:1.5rem;width:56px;height:56px;background:#fff;border-radius:16px;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 8px 30px rgba(0,0,0,.12);z-index:2000;transition:all .3s cubic-bezier(.16,1,.3,1);padding:10px}.ai-fab:hover{transform:translateY(-4px) scale(1.05);box-shadow:0 12px 40px rgba(0,0,0,.15);border-color:var(--primary)}.ai-drawer-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:3000;display:flex;justify-content:flex-end;animation:fadeIn .2s ease-out}.ai-drawer-content{width:100%;max-width:450px;background:var(--card-bg);height:100vh;display:flex;flex-direction:column;box-shadow:-10px 0 30px rgba(0,0,0,.1);animation:slideInRight .3s cubic-bezier(.16,1,.3,1);position:relative}@keyframes slideInRight{0%{transform:translateX(100%)}to{transform:translateX(0)}}@keyframes slideInTop{0%{transform:translate(-50%,-100%);opacity:0}to{transform:translate(-50%);opacity:1}}@keyframes pulse-soft{0%{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-50%) scale(1.1);box-shadow:0 0 15px rgba(249,115,22,.4)}to{transform:translate(-50%,-50%) scale(1)}}.ai-markdown-response{color:var(--foreground);line-height:1.7}.ai-markdown-response h1,.ai-markdown-response h2,.ai-markdown-response h3{margin-top:1.5rem;margin-bottom:.75rem;color:var(--primary);font-weight:800}.ai-markdown-response h1{font-size:1.5rem}.ai-markdown-response h2{font-size:1.25rem}.ai-markdown-response h3{font-size:1.1rem}.ai-markdown-response p{margin-bottom:1rem}.ai-markdown-response ol,.ai-markdown-response ul{margin-bottom:1rem;padding-left:1.5rem}.ai-markdown-response li{margin-bottom:.5rem}.ai-markdown-response blockquote{border-left:4px solid var(--primary);padding-left:1rem;font-style:italic;opacity:.8;margin:1.5rem 0}.ai-markdown-response code{background:rgba(249,115,22,.1);color:var(--primary);padding:.2rem .4rem;border-radius:4px;font-family:inherit;font-weight:700}.ai-thinking{display:flex;gap:6px;justify-content:center;align-items:center;padding:2rem}.ai-thinking-dot{width:10px;height:10px;background:var(--primary);border-radius:50%;animation:thinking 1.4s ease-in-out infinite both}.ai-thinking-dot:first-child{animation-delay:-.32s}.ai-thinking-dot:nth-child(2){animation-delay:-.16s}@keyframes thinking{0%,80%,to{transform:scale(0);opacity:.3}40%{transform:scale(1);opacity:1}}@media (max-width:480px){.metric-icon-hide{display:none!important}}.metric-card-mobile{min-width:0;display:flex!important;flex-direction:column!important;align-items:flex-start!important}@media (min-width:640px){.metric-card-mobile{flex-direction:row!important;align-items:center!important}}.announcement-bar{background:#fff;border:1px solid var(--border);border-radius:12px;margin-bottom:1rem;overflow:hidden;white-space:nowrap;padding:.6rem 0;display:flex;align-items:center;position:relative;box-shadow:0 2px 8px rgba(0,0,0,.03)}.announcement-title{background:#fff7ed;color:#ea580c;padding:.2rem .6rem;border-radius:6px;font-size:.7rem;font-weight:800;margin:0 .75rem;z-index:10;border:1px solid #fed7aa;flex-shrink:0}.marquee-container{overflow-x:auto;flex:1 1;display:flex;cursor:-webkit-grab;cursor:grab;scrollbar-width:none;-ms-overflow-style:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.marquee-container::-webkit-scrollbar{display:none}.marquee-container:active{cursor:-webkit-grabbing;cursor:grabbing}.marquee-content{display:flex;gap:80px;padding-right:80px;will-change:transform}.announcement-item{display:flex;align-items:center;gap:12px;font-size:.9rem;font-weight:600;color:var(--foreground)}.announcement-dot{width:8px;height:8px;background:var(--primary);border-radius:50%;flex-shrink:0}.announcement-bar:hover{border-color:var(--primary)}@keyframes fadeInSlideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media screen{#print-section{position:fixed!important;top:0!important;left:-10000px!important;height:1px!important;width:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important;z-index:-1!important}}@media print{@page{margin:0}body,html{margin:0!important;padding:0!important;height:auto!important;min-height:100%!important;overflow:visible!important;background:#fff!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}body>:not(#print-section){display:none!important}#print-section{display:block!important;position:relative!important;width:100%!important;margin:0!important;padding:0!important;visibility:visible!important;z-index:99999!important}body.printing-pos-invoice{width:210mm!important}body.printing-pos-invoice #print-section>div{width:210mm!important;max-width:100%!important;margin:0 auto!important;background:#fff!important;padding:10mm!important;box-sizing:border-box!important;min-height:297mm!important}body.printing-pos-thermal{width:58mm!important}body.printing-pos-thermal #print-section{width:58mm!important;left:0!important}*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.glass-card,table tr{page-break-inside:avoid!important;break-inside:avoid!important}canvas,img,svg{max-width:100%!important;display:inline-block!important}}