:root{--bg:#fdfbf8;--sidebar:#fff;--card-bg:#fff;--border:#e8e2da;--text-main:#2c2825;--text-muted:#6f665f;--primary-green:#8c7355;--primary-orange:#a69076;--danger:#ef4444;--excel-green:#107c41;--info-blue:#a69076}[data-theme=dark]{--bg:#1a1814;--sidebar:#24221d;--card-bg:#24221d;--border:#3b362c;--text-main:#f0e6d6;--text-muted:#a89f91;--primary-green:#dcb886;--primary-orange:#cba876;--danger:#ff6b6b;--excel-green:#4ade80;--info-blue:#dcb886}button,input[type=button],input[type=submit],input[type=reset]{appearance:none;font-family:Montserrat,sans-serif}*{box-sizing:border-box}html{overscroll-behavior:none;min-height:100%;overflow-x:hidden}body{background:var(--bg);min-height:100dvh;padding:max(20px, env(safe-area-inset-top)) max(20px, env(safe-area-inset-right)) max(20px, env(safe-area-inset-bottom)) max(20px, env(safe-area-inset-left));color:var(--text-main);overscroll-behavior:none;-webkit-tap-highlight-color:transparent;justify-content:center;align-items:center;margin:0;font-family:Montserrat,sans-serif;display:flex}:root{--apple-ease:cubic-bezier(.25, 1, .5, 1);--apple-spring:cubic-bezier(.34, 1.56, .64, 1);--apple-swift:cubic-bezier(.16, 1, .3, 1)}.login-card{background:var(--card-bg);border:1px solid var(--border);text-align:center;width:100%;max-width:420px;animation:loginEntrance .85s var(--apple-spring) forwards;will-change:transform, opacity;transition:transform .4s var(--apple-swift), box-shadow .4s var(--apple-swift);border-radius:20px;padding:45px 40px;box-shadow:0 20px 50px #0000004d}.login-card:hover{transform:translateY(-2px);box-shadow:0 30px 60px #0006}@keyframes loginEntrance{0%{opacity:0;filter:blur(6px);transform:scale(.9)translateY(30px)}to{opacity:1;filter:blur();transform:scale(1)translateY(0)}}.logo-area{margin-bottom:35px}.logo-area img{border:2px solid var(--border);object-fit:cover;width:90px;height:90px;transition:transform .6s var(--apple-spring);border-radius:50%;margin-bottom:15px}.login-card:hover .logo-area img{transform:scale(1.05)rotate(5deg)}.logo-area h2{color:var(--text-main);letter-spacing:1px;margin:0;font-family:Playfair Display,serif;font-size:1.8rem;font-weight:600}.logo-area p{color:var(--text-muted);margin:5px 0 0;font-size:.9rem}.input-group{text-align:left;margin-bottom:22px;position:relative}.input-group label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;font-size:.8rem;font-weight:500;display:block}.input-group input{background:var(--bg);border:1px solid var(--border);width:100%;color:var(--text-main);transition:all .3s var(--apple-swift);border-radius:10px;min-height:48px;padding:14px 15px 14px 42px;font-family:Inter,sans-serif;font-size:16px}.input-group input::placeholder{color:var(--text-muted);opacity:.6}.input-group i{color:var(--text-muted);font-size:1.1rem;transition:color .3s;position:absolute;top:40px;left:15px}.input-group input:focus+i{color:var(--primary-green)}.input-group .toggle-pass{cursor:pointer;z-index:10;padding:5px;position:absolute;left:auto;right:15px}.input-group .toggle-pass:hover{color:var(--primary-green)}button{background:var(--primary-green);color:#000;cursor:pointer;width:100%;transition:transform .4s var(--apple-swift), background-color .3s ease;touch-action:manipulation;border:none;border-radius:10px;justify-content:center;align-items:center;gap:10px;min-height:48px;margin-top:10px;padding:15px;font-size:1rem;font-weight:600;display:flex}button:hover{opacity:.95;transform:scale(1.02)translateY(-1px)}button:active{transition:transform .1s var(--apple-ease);transform:scale(.96)translateY(0)}button:disabled{color:#666;cursor:not-allowed;background:#333;transform:none}.footer-text{color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;opacity:.8;margin-top:25px;font-size:.75rem}.toast-container{top:max(20px, env(safe-area-inset-top));z-index:2000;flex-direction:column;gap:10px;display:flex;position:fixed;right:20px}.toast{-webkit-backdrop-filter:blur(15px);color:#fff;border:1px solid var(--border);animation:toastSpring .5s var(--apple-spring) forwards;will-change:transform, opacity;background:#1a1a1af2;border-radius:12px;align-items:center;gap:12px;padding:16px 26px;font-size:.95rem;font-weight:500;display:flex;box-shadow:0 10px 30px #0000004d}.toast.error{border-left:4px solid var(--danger);background:#1e1414f2}.toast.success{border-left:4px solid var(--primary-green);background:#141e14f2}@keyframes toastSpring{0%{opacity:0;transform:translate(120%)scale(.9)}to{opacity:1;transform:translate(0)scale(1)}}@media (width<=480px){.login-card{padding:35px 20px}.logo-area h2{font-size:1.5rem}.input-group input{font-size:16px}}@media (pointer:coarse){button:hover{transform:none}}.pwa-blocker-overlay{background:radial-gradient(circle at top left, #8c735514, transparent 40%), radial-gradient(circle at bottom right, #8c73550f, transparent 40%), var(--bg);z-index:999999;box-sizing:border-box;-webkit-backdrop-filter:blur(20px);width:100%;height:100%;animation:pwaBlockerFadeIn .6s var(--apple-ease) forwards;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;top:0;left:0;overflow-y:auto}@keyframes pwaBlockerFadeIn{0%{opacity:0}to{opacity:1}}.pwa-blocker-card{background:var(--card-bg);border:1px solid var(--border);text-align:center;opacity:0;width:100%;max-width:480px;animation:pwaCardSlideUp .8s var(--apple-spring) forwards;box-sizing:border-box;border-radius:28px;flex-direction:column;gap:20px;padding:35px 30px;animation-delay:.1s;display:flex;transform:scale(.92)translateY(20px);box-shadow:0 20px 50px #0003}@keyframes pwaCardSlideUp{0%{opacity:0;transform:scale(.92)translateY(20px)}to{opacity:1;transform:scale(1)translateY(0)}}.pwa-blocker-header{text-align:left;align-items:center;gap:16px;display:flex}.pwa-blocker-app-logo{border:1px solid var(--border);border-radius:14px;width:60px;height:60px;box-shadow:0 4px 15px #0000001a}.pwa-blocker-app-details h3{color:var(--text-main);margin:0;font-size:1.25rem;font-weight:700}.pwa-blocker-app-details p{color:var(--text-muted);margin:4px 0 0;font-size:.85rem}.pwa-blocker-divider{background:linear-gradient(to right, transparent, var(--border), transparent);width:100%;height:1px}.pwa-instruction-section{text-align:left}.pwa-instruction-title{color:var(--primary-green);align-items:center;gap:8px;margin-bottom:12px;font-size:1.1rem;font-weight:600;display:flex}.pwa-instruction-lead{color:var(--text-main);margin-bottom:24px;font-size:.95rem;line-height:1.5}.btn-pwa-install{background:linear-gradient(135deg, var(--primary-green), var(--primary-orange));color:#000;cursor:pointer;width:100%;transition:all .3s var(--apple-swift);border:none;border-radius:14px;justify-content:center;align-items:center;gap:10px;margin-bottom:10px;padding:16px 24px;font-size:1.1rem;font-weight:600;animation:2s infinite alternate pwaPulseGlow;display:inline-flex;box-shadow:0 6px 20px #8c73554d}@keyframes pwaPulseGlow{0%{box-shadow:0 6px 20px #8c735540}to{transform:scale(1.01);box-shadow:0 8px 25px #8c735573}}.btn-pwa-install:hover{opacity:.95;transform:translateY(-1px)}.btn-pwa-install:active{transition:transform .1s var(--apple-ease);transform:scale(.96)}.pwa-steps-list{flex-direction:column;gap:16px;display:flex}.pwa-step-item{align-items:flex-start;gap:14px;display:flex}.pwa-step-num{background:var(--primary-green);color:#000;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;margin-top:2px;font-size:.85rem;font-weight:700;display:flex}.pwa-step-text{color:var(--text-main);font-size:.9rem;line-height:1.5}.pwa-step-note{color:var(--danger);background:#ef44440d;border:1px solid #ef44441a;border-radius:8px;align-items:center;gap:8px;margin-top:8px;padding:8px 12px;font-size:.8rem;display:flex}.pwa-blocker-footer{color:var(--text-muted);justify-content:center;align-items:center;gap:6px;margin-top:10px;font-size:.78rem;display:flex}body.pwa-block-active .login-card{opacity:.15!important;filter:blur(8px)!important;pointer-events:none!important;transform:scale(.95)translateZ(-100px)!important}body.pwa-block-active{touch-action:none;width:100%!important;height:100vh!important;position:fixed!important;overflow:hidden!important}.share-icon-wrap,.add-icon-wrap{vertical-align:middle;background:#0000000a;border-radius:6px;justify-content:center;align-items:center;padding:2px 6px;font-size:.9rem;display:inline-flex}[data-theme=dark] .share-icon-wrap,[data-theme=dark] .add-icon-wrap{background:#ffffff14}
