:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}html{scrollbar-gutter:stable;overflow-x:hidden}body{-webkit-overflow-scrolling:touch;overscroll-behavior-x:none;touch-action:pan-y pinch-zoom;margin:0;overflow-x:hidden}@media (width<=768px){html{scrollbar-width:none}html::-webkit-scrollbar{width:0;height:0}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}#root{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100dvh;margin:0 auto;display:flex}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}.language-switcher{flex-direction:column;align-items:stretch;gap:6px;display:flex}.language-switcher-label{color:#4b5563;font-size:12px;font-weight:600}.language-switcher-select{color:#111827;background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;outline:none;padding:8px 10px;font-size:13px}.language-switcher-select:focus{background:#fff;border-color:#3b82f6e6;box-shadow:0 0 0 3px #bfdbfeb3}.language-switcher--compact{flex-direction:row;flex-shrink:0;align-items:center;gap:4px}.language-switcher--compact .language-switcher-label{color:#64748b;white-space:nowrap;font-size:10px;font-weight:600}.language-switcher--compact .language-switcher-select{border-radius:8px;min-width:0;max-width:108px;padding:4px 6px;font-size:11px}@keyframes float-up{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.salary-page{width:100%;max-width:none;padding:56px 0 calc(96px + env(safe-area-inset-bottom,0px));color:#111827;-webkit-text-size-adjust:100%;background:#fdfaf3;margin:0 auto;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,system-ui,sans-serif}.top-menu{z-index:40;box-sizing:border-box;background:#fff;padding:0 14px;position:fixed;top:0;left:0;right:0;box-shadow:0 4px 12px #94a3b880}.user-top-fixed-bar{z-index:42;box-sizing:border-box;background:#fff;justify-content:space-between;align-items:center;min-height:clamp(40px,11vw,46px);padding:0 clamp(6px,2.4vw,10px);display:flex;position:fixed;top:0;left:0;right:0;box-shadow:0 4px 12px #94a3b873}.user-top-fixed-main{align-items:center;gap:clamp(3px,1.4vw,6px);min-width:0;display:inline-flex}.user-top-fixed-end{flex-shrink:0;align-items:center;gap:clamp(3px,1.4vw,6px);display:inline-flex}.user-top-lang{margin:0}.user-top-fixed-title{letter-spacing:-.03em;color:#111827;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:clamp(10px,3.1vw,13px);font-weight:700;overflow:hidden}.user-top-fixed-chip{color:#475569;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:999px;flex-shrink:0;padding:clamp(1px,.6vw,2px) clamp(4px,1.8vw,7px);font-size:clamp(8px,2.2vw,10px);font-weight:600;line-height:1.2}.user-top-fixed-chip-point{color:#1e3a8a;background:#eff6ff;border-color:#bfdbfe}.user-top-fixed-action{cursor:pointer;color:#475569;background:#f8fafc;border:1px solid #e2e8f0;border-radius:clamp(8px,2.2vw,10px);flex-shrink:0;justify-content:center;align-items:center;width:clamp(22px,7.5vw,28px);height:clamp(22px,7.5vw,28px);font-size:clamp(11px,3.6vw,14px);display:inline-flex}.bottom-menu{z-index:42;padding:clamp(6px, 1.7vw, 8px) clamp(6px, 2.2vw, 10px) calc(clamp(6px, 1.7vw, 8px) + env(safe-area-inset-bottom,0px));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:1;background:#fffffff2;border-top:1px solid #e2e8f0f2;transition:transform .22s,opacity .22s;position:fixed;bottom:0;left:0;right:0;transform:translateY(0);box-shadow:0 -6px 18px #94a3b82e}.bottom-menu-hidden{transform:translateY(calc(100% + env(safe-area-inset-bottom,0px)));opacity:.96;pointer-events:none}.bottom-menu-tabs{flex-wrap:nowrap;justify-content:center;gap:clamp(3px,1.2vw,6px);display:flex}.top-menu-inner{flex-wrap:nowrap;justify-content:flex-start;align-items:center;gap:4px;min-height:44px;display:flex}.top-menu-content{flex:auto;justify-content:flex-start;align-items:center;gap:4px;min-width:0;display:flex;overflow:hidden}.top-menu-open .top-menu-content{overflow:visible}.top-menu-title{letter-spacing:-.03em;opacity:1;white-space:nowrap;cursor:pointer;color:inherit;background:0 0;border:none;padding:0;font-size:13px;font-weight:600;animation:.18s ease-out top-menu-fade-in;transform:translateY(0)}.top-menu-tabs{flex-wrap:wrap;flex:0 auto;justify-content:flex-start;gap:4px;animation:.18s ease-out top-menu-fade-in;display:flex}.salary-tab{aspect-ratio:1;color:#334155;cursor:pointer;white-space:normal;background:#fff;border:1px solid #dbe2ea;border-radius:clamp(9px,2.6vw,12px);flex-direction:column;justify-content:center;align-items:center;gap:clamp(2px,1.1vw,5px);width:clamp(50px,15.5vw,64px);padding:clamp(4px,1.6vw,7px) clamp(3px,1.3vw,5px);font-size:clamp(9px,2.4vw,11px);font-weight:500;transition:box-shadow .15s,background .15s,color .15s,transform .1s;display:inline-flex}.salary-tab-active{color:#111827;border-color:#93c5fd;box-shadow:inset 0 0 0 1px #3b82f659}.salary-tab-icon{font-size:clamp(14px,4.1vw,18px);line-height:1}.salary-tab-label{line-height:1.1}.salary-tab-tone-notice .salary-tab-icon{color:#ef4444}.salary-tab-tone-attendance .salary-tab-icon{color:#2563eb}.salary-tab-tone-payroll .salary-tab-icon{color:#16a34a}.salary-tab-tone-point .salary-tab-icon{color:#f59e0b}.salary-tab-tone-mypage .salary-tab-icon{color:#6366f1}.salary-tab-secret-mystic{isolation:isolate;color:#faf5ff;background-color:#0000;background-image:linear-gradient(155deg,#1a0b2e 0%,#312e81 45%,#581c87 100%),linear-gradient(130deg,#a78bfa,#fbbf24,#e879f9,#fde68a,#8b5cf6,#c4b5fd);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:auto,auto;background-attachment:scroll,scroll;background-origin:border-box;background-clip:padding-box,border-box;border:1px solid #0000;font-weight:650;animation:2.8s ease-in-out infinite secret-tab-mystic-pulse;position:relative;box-shadow:0 0 18px #8b5cf68c,0 0 36px #fbbf242e,inset 0 1px #ffffff24}.salary-tab-secret-mystic:after{content:"";opacity:.65;pointer-events:none;z-index:-1;background:radial-gradient(80% 60% at 40% 0,#fde04773,#0000 60%);border-radius:14px;animation:3.2s ease-in-out infinite alternate secret-tab-aura;position:absolute;inset:-3px}@keyframes secret-tab-mystic-pulse{0%,to{box-shadow:0 0 14px #8b5cf67a,0 0 30px #fbbf241f,inset 0 1px #ffffff1a}50%{box-shadow:0 0 24px #a78bfab8,0 0 44px #fcd34d52,inset 0 1px #fff3}}@keyframes secret-tab-aura{0%{opacity:.35;transform:scale(.98)}to{opacity:.85;transform:scale(1.03)}}.salary-tab-secret-mystic.salary-tab-active{color:#fff;border-color:#0000;animation:2s ease-in-out infinite secret-tab-mystic-pulse-active;box-shadow:0 0 0 2px #fde047e6,0 0 28px #8b5cf6e6,0 0 52px #fbbf2459,inset 0 1px #ffffff38}@keyframes secret-tab-mystic-pulse-active{0%,to{filter:brightness(1.02)}50%{filter:brightness(1.12)}}.salary-tab-icon-secret{filter:drop-shadow(0 0 5px #fde047f2);animation:2.1s ease-in-out infinite secret-tab-icon-sparkle;display:inline-block}@keyframes secret-tab-icon-sparkle{0%,to{transform:scale(1)rotate(-3deg)}50%{transform:scale(1.1)rotate(3deg)}}.salary-tab-label-secret{text-shadow:0 0 10px #c084fce6,0 0 18px #fbbf2459;letter-spacing:-.05em}@media (prefers-reduced-motion:reduce){.salary-tab-secret-mystic,.salary-tab-secret-mystic:after,.salary-tab-icon-secret{animation:none}}.menu-icon-button{cursor:pointer;color:#4b5563;background:0 0;border:none;padding:0 6px;font-size:18px}@keyframes top-menu-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.salary-header{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;margin-bottom:24px;display:flex}.salary-header-main h1,.salary-header-main h2{margin:2px 0 0}.salary-title{letter-spacing:-.03em;font-size:18px;font-weight:600;line-height:1.1}.salary-header-month{align-items:center;gap:8px;margin-top:2px;display:inline-flex}.month-label{color:#111827;font-size:15px;font-weight:600}.month-nav{cursor:pointer;color:#4b5563;background:linear-gradient(135deg,#f9fafb,#e5e7eb);border:1px solid #94a3b859;border-radius:8px;justify-content:center;align-items:center;min-width:30px;height:30px;font-size:14px;transition:background .18s ease-out,box-shadow .18s ease-out,transform .12s ease-out;display:flex;box-shadow:0 1px 2px #94a3b859,0 0 0 .5px #d1d5db99}.month-nav:hover{background:linear-gradient(135deg,#e5e7eb,#d1d5db);transform:translateY(-.5px);box-shadow:0 2px 4px #94a3b866,0 0 0 .5px #9ca3afcc}.month-nav-today{color:#1d4ed8;background:linear-gradient(135deg,#e0f2fe,#bfdbfe);border-color:#3b82f680;padding:0 14px;font-size:13px;box-shadow:0 1px 3px #94bfff73,0 0 0 .5px #93c5fdcc}.attendance-header-month{justify-content:center;margin:0 auto 8px}.salary-subtitle{letter-spacing:.16em;text-transform:uppercase;color:#9ca3af;margin-bottom:8px;font-size:12px}.salary-header h1{letter-spacing:-.03em;color:#111827;margin:0 0 10px;font-size:30px;font-weight:700}.salary-description{color:#6b7280;margin:0;font-size:14px}.salary-legend{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.legend-item{background:#fff;border:1px solid #e5e7eb;border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:12px;display:inline-flex;box-shadow:0 1px 2px #0f172a14}.legend-item:before{content:"";border-radius:999px;width:8px;height:8px}.legend-paid:before{background:#22c55e}.legend-upcoming:before{background:#3b82f6}.legend-late:before{background:#f97316}@media (width<=768px){.salary-page{padding:56px 0 calc(96px + env(safe-area-inset-bottom,0px))}.summary-grid{grid-template-columns:1fr}}@media (width<=480px){.top-menu{padding:8px}.bottom-menu{padding-inline:clamp(4px,1.5vw,8px)}.top-menu-inner{gap:8px}.top-menu-content{justify-content:flex-start}.top-menu-title{font-size:12px}.top-menu-tabs .salary-tab{padding:4px 8px;font-size:11px}}.admin-shell{box-sizing:border-box;color:#111827;-webkit-text-size-adjust:100%;--admin-bottom-nav-height:calc(clamp(6px, 1.7vw, 8px) + clamp(50px, 15vw, 60px) + clamp(6px, 1.7vw, 8px) + 12px + env(safe-area-inset-bottom,0px));background:#fdfaf3;width:100%;min-height:100vh;margin:0 auto;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,system-ui,sans-serif}.admin-fixed-header{z-index:41;box-sizing:border-box;background:#fff;justify-content:space-between;align-items:center;gap:clamp(6px,2.2vw,10px);min-height:clamp(40px,11vw,46px);padding:0 clamp(7px,2.6vw,12px);display:flex;position:fixed;top:0;left:0;right:0;box-shadow:0 4px 12px #94a3b873}.admin-fixed-header-title{letter-spacing:-.03em;color:#111827;flex:auto;min-width:0;margin:0;font-size:clamp(10px,3.1vw,13px);font-weight:700}.admin-fixed-header-pending{letter-spacing:-.02em;color:#92400e;white-space:nowrap;text-overflow:ellipsis;background:linear-gradient(135deg,#fffbeb 0%,#fde68a 100%);border:1px solid #f59e0bbf;border-radius:999px;flex-shrink:0;max-width:46%;padding:clamp(2px,1vw,4px) clamp(5px,2.2vw,10px);font-size:clamp(9px,2.3vw,11px);font-weight:700;overflow:hidden;box-shadow:0 2px 8px #f59e0b40}.admin-top-menu{z-index:40;padding:clamp(6px, 1.7vw, 8px) clamp(7px, 2.6vw, 14px) calc(clamp(6px, 1.7vw, 8px) + env(safe-area-inset-bottom,0px));box-sizing:border-box;opacity:1;background:#fff;transition:transform .22s,opacity .22s;position:fixed;bottom:0;left:0;right:0;transform:translateY(0);box-shadow:0 4px 12px #94a3b880}.admin-top-menu-hidden{transform:translateY(calc(100% + env(safe-area-inset-bottom,0px)));opacity:.96;pointer-events:none}.admin-top-menu-inner{flex-wrap:nowrap;justify-content:flex-start;align-items:center;gap:4px;min-height:44px;display:flex}.admin-top-menu-content{flex:auto;justify-content:center;align-items:center;gap:4px;min-width:0;display:flex;overflow:hidden}.admin-top-menu-tabs{flex-wrap:wrap;flex:0 auto;justify-content:center;gap:clamp(3px,1.2vw,6px);animation:.18s ease-out admin-top-menu-fade-in;display:flex}.admin-tab{aspect-ratio:1;color:#334155;cursor:pointer;white-space:normal;background:#fff;border:1px solid #dbe2ea;border-radius:clamp(8px,2.2vw,10px);flex-direction:column;justify-content:center;align-items:center;gap:clamp(2px,1vw,5px);width:clamp(50px,15vw,60px);padding:clamp(4px,1.4vw,6px) clamp(3px,1.2vw,5px);font-size:clamp(8px,2.1vw,10px);font-weight:500;transition:box-shadow .15s,background .15s,color .15s,transform .1s;display:inline-flex}.admin-tab-active{color:#111827;border-color:#93c5fd;box-shadow:inset 0 0 0 1px #3b82f659}.admin-tab-icon{font-size:clamp(13px,3.8vw,16px);line-height:1}.admin-tab-label{line-height:1.1}.admin-tab-tone-notice .admin-tab-icon{color:#ef4444}.admin-tab-tone-employees .admin-tab-icon{color:#8b5cf6}.admin-tab-tone-attendance .admin-tab-icon{color:#2563eb}.admin-tab-tone-payroll .admin-tab-icon{color:#059669}.admin-tab-tone-system .admin-tab-icon{color:#64748b}.admin-tab-tone-shop .admin-tab-icon{color:#7c3aed}@keyframes admin-top-menu-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.admin-page{width:100%;max-width:none;padding:64px 4% calc(96px + env(safe-area-inset-bottom,0px));box-sizing:border-box;margin:0 auto}.admin-page.admin-page-pad-bottom-nav{padding-bottom:var(--admin-bottom-nav-height)}.admin-header{justify-content:space-between;gap:12px;margin-bottom:18px;display:flex}.admin-header-main{flex-direction:column;gap:4px;display:flex}.admin-subtitle{letter-spacing:.16em;text-transform:uppercase;color:#9ca3af;margin:0;font-size:11px}.admin-title{letter-spacing:-.06em;color:#111827;margin:0;font-size:20px;font-weight:700}.admin-description{color:#6b7280;margin:4px 0 0;font-size:13px}.admin-header-meta{color:#6b7280;flex-direction:column;align-items:flex-end;gap:4px;font-size:11px;display:flex}.admin-badge{color:#92400e;background:#fef3c7;border:1px solid #fed7aa;border-radius:999px;padding:2px 8px}.admin-layout{flex-direction:column;gap:10px;display:flex}.admin-layout-columns{grid-template-columns:minmax(0,1.4fr) minmax(0,1.1fr);gap:10px;display:grid}.admin-card{background:#fff;border-radius:12px;padding:12px 13px 10px;box-shadow:0 10px 25px #94a3b859,0 0 0 1px #d1d5dbe6}.admin-card-title{color:#111827;margin:0 0 2px;font-size:14px;font-weight:600}.admin-card-subtitle{color:#6b7280;margin:0 0 10px;font-size:11px}.admin-placeholder-list{flex-direction:column;gap:6px;display:flex}.admin-placeholder-row{flex-wrap:wrap;gap:6px;display:flex}.admin-pill{color:#1d4ed8;background:#eff6ff;border-radius:999px;padding:4px 8px;font-size:11px}.admin-pill.subtle{color:#6b7280;background:#f9fafb;border:1px dashed #e5e7eb}@media (width<=768px){.admin-page{padding:82px 4% 32px}.admin-page.admin-page-pad-bottom-nav{padding-bottom:var(--admin-bottom-nav-height)}.admin-layout-columns{grid-template-columns:minmax(0,1fr)}}@media (width<=480px){.admin-top-menu{padding:8px}.admin-top-menu-inner{gap:8px}.admin-top-menu-content{justify-content:flex-start}.admin-top-menu-title{font-size:12px}.admin-top-menu-tabs .admin-tab{padding:4px 8px;font-size:11px}.admin-header{flex-direction:column;align-items:flex-start}.admin-header-meta{align-items:flex-start}}.employee-layout{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);align-items:flex-start;gap:10px;display:grid}.employee-form{flex-direction:column;gap:8px;display:flex}.employee-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.employee-field{flex-direction:column;gap:4px;display:flex}.employee-field.span-2{grid-column:span 2}.employee-field label{color:#6b7280;font-size:11px}.employee-field input{color:#111827;box-sizing:border-box;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;outline:none;padding:6px 8px;font-size:12px}.employee-field input:focus{background:#fff;border-color:#3b82f6e6;box-shadow:0 0 0 1px #93c5fde6,0 0 0 3px #bfdbfeb3}.employee-save-button{cursor:pointer;color:#f9fafb;background:linear-gradient(135deg,#16a34a,#15803d);border:none;border-radius:999px;align-self:flex-end;margin-top:2px;padding:6px 12px;font-size:12px;font-weight:600;box-shadow:0 6px 14px #16a34a73,0 0 0 1px #bbf7d0e6}.admin-employees-alert{z-index:39;background:linear-gradient(135deg,#fffbeb 0%,#fef3c7 100%);border:1px solid #fbbf24a6;border-radius:10px;align-items:flex-start;gap:10px;margin:0 0 14px;padding:12px 14px;display:flex;position:sticky;top:50px;box-shadow:0 4px 14px #f59e0b1f}.admin-employees-alert-icon{flex-shrink:0;font-size:22px;line-height:1.2}.admin-employees-alert-body{min-width:0}.admin-employees-alert-title{color:#92400e;letter-spacing:-.02em;margin:0 0 4px;font-size:13px;font-weight:700}.admin-employees-alert-title strong{color:#b45309;font-weight:800}.admin-employees-alert-desc{color:#78350f;margin:0;font-size:12px;line-height:1.45}.admin-employees-alert-desc strong{color:#92400e;font-weight:700}.employee-list-card{background:#f9fafb;border:1px dashed #e5e7eb;border-radius:10px;padding:8px 10px;font-size:11px}.employee-list-card.full{border-style:solid}.employee-list-title{color:#111827;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 6px;font-weight:600;display:flex}.employee-table{flex-direction:column;gap:4px;display:flex}.employee-list{flex-direction:column;gap:8px;display:flex}.employee-item{background:#fff;border:1px solid #0f172a14;border-radius:12px;transition:box-shadow .18s,border-color .18s;overflow:hidden}.employee-item-open{border-color:#0f172a1f;box-shadow:0 10px 28px #0f172a14}.employee-item-main.employee-line{--emp-line-fs:12px;--emp-point-col:12ch;box-sizing:border-box;min-height:34px;font-size:var(--emp-line-fs);align-items:center;gap:0 10px;padding:6px 10px;line-height:1.35;display:grid}.employee-item-main.employee-line:not(.employee-line--editing),.employee-item-main.employee-line.employee-line--editing{grid-template-columns:4.75rem minmax(0,1fr) max-content}.employee-line-team{justify-self:stretch;min-width:0}.employee-team-pill{width:100%;font-size:var(--emp-line-fs);letter-spacing:-.02em;color:#475569;box-sizing:border-box;text-overflow:ellipsis;white-space:nowrap;text-align:center;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:6px;margin:0;padding:2px 6px;font-weight:600;line-height:1.35;display:block;overflow:hidden}.employee-team-pill-line{text-align:center}.employee-team-pill--tone-0{color:#475569;background:#f1f5f9;border-color:#e2e8f0}.employee-team-pill--tone-1{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.employee-team-pill--tone-2{color:#6d28d9;background:#f5f3ff;border-color:#ddd6fe}.employee-team-pill--tone-3{color:#a21caf;background:#fdf4ff;border-color:#f0abfc}.employee-team-pill--tone-4{color:#047857;background:#ecfdf5;border-color:#a7f3d0}.employee-team-pill--tone-5{color:#b45309;background:#fffbeb;border-color:#fde68a}.employee-team-pill--tone-6{color:#be123c;background:#fff1f2;border-color:#fecdd3}.employee-team-pill--tone-7{color:#0e7490;background:#ecfeff;border-color:#a5f3fc}.employee-team-pill--tone-8{color:#15803d;background:#f0fdf4;border-color:#bbf7d0}.employee-team-pill--tone-9{color:#c2410c;background:#fff7ed;border-color:#fed7aa}.employee-team-select-line{width:100%;min-width:0;max-width:100%;font-size:var(--emp-line-fs);color:#334155;box-sizing:border-box;background:#fff;border:1px solid #e2e8f0;border-radius:6px;padding:2px 4px;font-weight:500;line-height:1.35}.employee-line-name{text-align:left;justify-self:stretch;min-width:0}.employee-line-name-text{width:100%;font-size:var(--emp-line-fs);letter-spacing:-.02em;color:#0f172a;text-align:left;white-space:nowrap;text-overflow:ellipsis;font-weight:700;line-height:1.35;display:block;overflow:hidden}.employee-line-meta{justify-content:flex-end;justify-self:end;align-items:center;min-width:0;display:flex}.employee-line-point{box-sizing:border-box;width:var(--emp-point-col);min-width:var(--emp-point-col);max-width:var(--emp-point-col);font-size:var(--emp-line-fs);letter-spacing:-.02em;color:#334155;font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right;margin:0;padding:0;font-weight:600}.employee-line-point-btn{cursor:pointer;font:inherit;font-variant-numeric:tabular-nums;-webkit-tap-highlight-color:transparent;background:0 0;border:none}.employee-line-point-btn:hover{color:#1d4ed8;text-decoration:underline}.employee-line-actions{flex-shrink:0;justify-content:flex-end;align-items:center;gap:4px;display:flex}.employee-line--editing .employee-line-name-input{width:100%;min-width:0;font-size:var(--emp-line-fs);letter-spacing:-.02em;color:#0f172a;text-align:left;box-sizing:border-box;background:#fff;border:1px solid #e2e8f0;border-radius:6px;padding:3px 6px;font-weight:700;line-height:1.35}.employee-line--editing .employee-line-point{box-sizing:border-box;width:var(--emp-point-col);min-width:var(--emp-point-col);max-width:var(--emp-point-col);font-size:var(--emp-line-fs);color:#94a3b8;font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;font-weight:600}.employee-account-pending-badge{font-size:var(--emp-line-fs);letter-spacing:-.02em;color:#be123c;cursor:pointer;background:#fff;border:1px solid #fecdd3;border-radius:6px;flex-shrink:0;margin:0;padding:2px 6px;font-weight:600;line-height:1.35;transition:background .12s,border-color .12s}.employee-account-pending-badge:hover{background:#fff1f2;border-color:#fda4af}.employee-phone{color:#6b7280;text-overflow:ellipsis;white-space:nowrap;min-width:110px;max-width:110px;overflow:hidden}.employee-team-select{color:#111827;box-sizing:border-box;background:#fff;border:1px solid #e5e7eb;border-radius:8px;width:100%;padding:4px 6px;font-size:11px}.employee-input-small{box-sizing:border-box;border:1px solid #e5e7eb;border-radius:6px;padding:3px 4px;font-size:11px}select.employee-bank-select{min-width:10rem;max-width:min(100%,18rem)}.employee-input-medium,.employee-input-full{box-sizing:border-box;border:1px solid #e5e7eb;border-radius:6px;width:100%;padding:3px 4px;font-size:11px}.employee-toggle{box-sizing:border-box;cursor:pointer;color:#64748b;-webkit-tap-highlight-color:transparent;background:#fff;border:1px solid #e2e8f0;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:auto;min-width:0;height:auto;margin:0;padding:2px 6px;font-size:10px;line-height:1.35;transition:background .12s,border-color .12s,color .12s;display:inline-flex}.employee-toggle:hover{color:#0f172a;background:#f8fafc;border-color:#cbd5e1}@media (width<=400px){.employee-item-main.employee-line{column-gap:6px;padding:5px 8px}.employee-item-main.employee-line:not(.employee-line--editing),.employee-item-main.employee-line.employee-line--editing{grid-template-columns:4.25rem minmax(0,1fr) max-content}}.employee-item-detail{max-height:0;transition:max-height .22s ease-out;overflow:hidden}.employee-item-detail-open{-webkit-overflow-scrolling:touch;max-height:min(88vh,720px);overflow:hidden auto}.employee-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 10px;padding:4px 8px 8px;font-size:11px;display:grid}.employee-detail-grid p,.employee-detail-grid .employee-detail-row-span2{align-items:flex-start;gap:4px;min-height:18px;margin:0;display:flex}.employee-detail-row-span2{grid-column:span 2}.employee-detail-grid .label{color:#9ca3af;white-space:nowrap;text-align:right;min-width:72px;max-width:72px;font-weight:500;display:inline-block}.employee-detail-grid .value{color:#111827;white-space:normal;text-overflow:clip;word-break:break-word;font-weight:700;overflow:visible}.employee-detail-actions{grid-column:span 2;justify-content:flex-end;margin-top:4px;display:flex!important}.employee-edit-team-button{cursor:pointer;color:#374151;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:999px;padding:4px 10px;font-size:11px}.employee-list-cleanup-button{cursor:pointer;color:#374151;background:#f9fafb;border:1px solid #e5e7eb;border-radius:999px;margin-left:auto;padding:3px 10px;font-size:11px}.employee-wage-summary{font-weight:600;display:block}.employee-wage-lines{flex-direction:column;gap:4px;display:flex}.employee-wage-line{font-size:11px;display:block}.employee-wage-edit{flex-direction:column;align-items:stretch;gap:6px;display:flex}.employee-wage-editor{flex-direction:column;gap:8px;min-width:0;display:flex}.employee-wage-range-list,.employee-wage-range-list-view{color:#111827;margin:0;padding:0 0 0 18px;font-size:11px;font-weight:600}.employee-wage-range-list-view li{margin-bottom:4px}.employee-wage-range-item{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;list-style:outside;display:flex}.employee-wage-add-form{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.employee-wage-add-label{color:#64748b;white-space:nowrap;font-size:11px}.employee-wage-remove{cursor:pointer;color:#6b7280;background:#fff;border:1px solid #e5e7eb;border-radius:6px;padding:3px 8px;font-size:10px}.employee-wage-add{cursor:pointer;color:#475569;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:8px;align-self:flex-start;margin-top:2px;padding:4px 10px;font-size:11px}.employee-wage-hint{color:#94a3b8;margin:0;font-size:10px;line-height:1.4}@media (width<=768px){.employee-layout{grid-template-columns:minmax(0,1fr)}.employee-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.admin-system{flex-direction:column;gap:8px;display:flex}.admin-system-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:8px;display:grid}.admin-system-payroll-desc{color:#64748b;margin:0;font-size:11px;line-height:1.45}.system-team-names-add{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.system-team-names-mode-select{background:#fff;border:1px solid #e5e7eb;border-radius:8px;min-width:88px;padding:6px 8px;font-size:12px}.system-team-names-mode-select--inline{flex-shrink:0}.system-team-names-label{flex:1;min-width:0;font-weight:500}.system-team-names-input{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;flex:1;min-width:140px;padding:6px 8px;font-size:12px}.system-team-names-list{flex-direction:column;gap:6px;margin:8px 0 0;padding:0;list-style:none;display:flex}.system-team-names-item{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;padding:6px 10px;font-size:12px;display:flex}.system-team-names-remove{color:#b91c1c;cursor:pointer;background:#fff;border:1px solid #fecaca;border-radius:6px;flex-shrink:0;padding:4px 8px;font-size:11px}.system-team-names-empty{color:#9ca3af;margin:8px 0 0;font-size:12px}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.admin-system-card,.system-payroll-form{flex-direction:column;gap:8px;display:flex}.system-payroll-fieldset{border:none;min-width:0;margin:0;padding:0}.system-payroll-fieldset:disabled .system-field input{opacity:.65;cursor:not-allowed;background:#f1f5f9}.system-payroll-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.system-edit-button{cursor:pointer;color:#374151;background:#fff;border:1px solid #e5e7eb;border-radius:999px;padding:6px 14px;font-size:12px;font-weight:600;box-shadow:0 1px 2px #0f172a0f}.system-edit-button:hover{background:#f8fafc;border-color:#cbd5e1}.system-apply-button:disabled{opacity:.55;cursor:not-allowed;filter:grayscale(.2)}.system-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.system-field{flex-direction:column;gap:4px;display:flex}.system-field label{color:#6b7280;font-size:11px}.system-field input{color:#111827;box-sizing:border-box;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;outline:none;padding:6px 8px;font-size:12px}.system-field input:focus{background:#fff;border-color:#3b82f6e6;box-shadow:0 0 0 1px #93c5fde6,0 0 0 3px #bfdbfeb3}.system-apply-button{cursor:pointer;color:#f9fafb;background:linear-gradient(135deg,#2563eb,#1d4ed8);border:none;border-radius:999px;align-self:flex-end;margin-top:2px;padding:6px 12px;font-size:12px;font-weight:600;box-shadow:0 6px 14px #2563eb73,0 0 0 1px #bfdbfee6}.system-summary{color:#4b5563;border-top:1px dashed #e5e7eb;margin-top:4px;padding-top:6px;font-size:11px}.system-summary-title{color:#111827;margin:0 0 4px;font-size:11px;font-weight:600}.system-summary-team-box{background:linear-gradient(165deg,#eff6ff 0%,#f8fafc 100%);border:1px solid #93c5fd;border-radius:12px;flex-direction:column;align-items:stretch;gap:6px;margin:6px 0 12px;padding:14px 16px;display:flex;box-shadow:0 4px 14px #2563eb1f,inset 0 1px #ffffffe6}.system-summary-team-box-label{letter-spacing:.06em;text-transform:uppercase;color:#64748b;font-size:11px;font-weight:700}.system-summary-team-box-name{letter-spacing:-.03em;color:#0f172a;word-break:break-all;font-size:20px;font-weight:800;line-height:1.25}.system-summary-row{justify-content:space-between;gap:8px;margin:0 0 2px;display:flex}.system-summary-row span:first-child{color:#6b7280}.system-summary-row span:last-child{color:#111827;font-weight:600}.system-team-list{margin-top:6px;font-size:11px}.system-team-chips{flex-wrap:wrap;gap:4px;margin-top:4px;display:flex}.system-team-chip{cursor:pointer;color:#4b5563;box-sizing:border-box;background:#fff;border:1px solid #e5e7eb;border-radius:12px;align-items:center;gap:8px;min-height:44px;padding:10px 14px;font-size:13px;display:inline-flex}.system-team-chip-name{letter-spacing:-.02em;color:#111827;font-size:15px;font-weight:700}.system-team-check{color:#0000;background:#fff;border:1px solid #d1d5db;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;font-size:11px;display:inline-flex}.system-team-check.is-selected{color:#fff;background:#2563eb;border-color:#2563eb}.system-team-delete-selected{cursor:pointer;color:#b91c1c;background:#fff1f2;border:1px solid #fecaca;border-radius:999px;margin-top:6px;padding:4px 10px;font-size:11px}.system-team-delete-selected:disabled{opacity:.5;cursor:not-allowed}.admin-system-storage-card{background:linear-gradient(165deg,snow 0%,#fff 55%);border-color:#fecaca;margin-top:4px}.admin-system-storage-desc strong{color:#374151;font-weight:600}.admin-storage-reset-button{color:#b91c1c;cursor:pointer;background:#fef2f2;border:1px solid #dc2626;border-radius:10px;align-self:flex-start;margin-top:4px;padding:8px 14px;font-size:12px;font-weight:700;transition:background .15s,border-color .15s}.admin-storage-reset-button:hover{background:#fee2e2;border-color:#b91c1c}.admin-storage-reset-button:focus{outline:none;box-shadow:0 0 0 2px #dc262659}@media (width<=768px){.admin-system-grid{grid-template-columns:minmax(0,1fr)}}.admin-notice-layout{grid-template-columns:minmax(0,1.1fr) minmax(0,1.2fr);gap:10px;display:grid}.admin-notice-form{flex-direction:column;gap:6px;display:flex}.admin-notice-form-row{gap:6px;display:flex}.admin-notice-category-select{box-sizing:border-box;background:#f9fafb;border:1px solid #e5e7eb;border-radius:999px;min-width:90px;padding:4px 8px;font-size:11px}.admin-notice-title-input{box-sizing:border-box;border:1px solid #e5e7eb;border-radius:999px;flex:auto;padding:6px 10px;font-size:12px}.admin-notice-body-input{resize:vertical;box-sizing:border-box;border:1px solid #e5e7eb;border-radius:10px;padding:6px 8px;font-size:12px}.admin-notice-form-footer{color:#6b7280;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;font-size:11px;display:flex}.admin-notice-form-actions{align-items:center;gap:6px;display:flex}.admin-notice-cancel-button{cursor:pointer;color:#4b5563;background:#fff;border:1px solid #e5e7eb;border-radius:999px;padding:6px 12px;font-size:12px;font-weight:600}.admin-notice-cancel-button:hover{background:#f9fafb}.admin-notice-submit-button{cursor:pointer;color:#f9fafb;background:linear-gradient(135deg,#4f46e5,#3b82f6);border:none;border-radius:999px;padding:6px 12px;font-size:12px;font-weight:600}.admin-notice-list-card{background:#fff;border-radius:10px;padding:8px 10px;font-size:11px;box-shadow:0 10px 25px #94a3b859,0 0 0 1px #d1d5dbe6}.admin-notice-list-header{color:#6b7280;justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.admin-notice-header-left{color:#111827;font-weight:600}.admin-notice-list{margin:0;padding:0;list-style:none}.admin-notice-item{border-bottom:1px solid #e5e7eb;padding:6px 2px}.admin-notice-item:last-child{border-bottom:none}.admin-notice-item-row{align-items:center;gap:6px;width:100%;display:flex}.admin-notice-item-main{cursor:pointer;text-align:left;background:0 0;border:none;flex:auto;align-items:center;gap:6px;min-width:0;padding:0;font-size:12px;display:flex}.admin-notice-item-actions{flex-shrink:0;align-items:center;gap:4px;display:flex}.admin-notice-action-btn{cursor:pointer;white-space:nowrap;border:1px solid #e5e7eb;border-radius:999px;padding:3px 8px;font-size:10px;font-weight:600}.admin-notice-action-btn--edit{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.admin-notice-action-btn--edit:hover{background:#dbeafe}.admin-notice-action-btn--delete{color:#b91c1c;background:#fef2f2;border-color:#fecaca}.admin-notice-action-btn--delete:hover{background:#fee2e2}.admin-notice-chip{text-align:center;border:1px solid #0000;border-radius:999px;min-width:52px;padding:2px 6px;font-size:10px}.admin-notice-chip-공지{color:#4338ca;background:#eef2ff;border-color:#c7d2fe}.admin-notice-chip-업데이트{color:#15803d;background:#ecfdf5;border-color:#bbf7d0}.admin-notice-chip-점검{color:#92400e;background:#fef3c7;border-color:#fed7aa}.admin-notice-item-title{color:#111827;letter-spacing:-.02em;white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.admin-notice-item-date{color:#9ca3af;white-space:nowrap;margin-left:auto;font-size:11px}.admin-notice-item-content{max-height:0;transition:max-height .22s ease-out;overflow:hidden}.admin-notice-item-content-open{max-height:200px}.admin-notice-item-body{color:#4b5563;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;margin:6px 0 0;padding:8px 10px;font-size:12px;line-height:1.4}@media (width<=768px){.admin-notice-layout{grid-template-columns:minmax(0,1fr)}}.salary-summary{width:95%;margin:0 auto 20px;animation:.22s ease-out summary-fade}@keyframes summary-fade{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.salary-detail{width:95%;margin-top:20px;margin-left:auto;margin-right:auto}.summary-card{color:#111827;box-sizing:border-box;background:#fffdf6;border-radius:8px;flex-direction:column;gap:14px;width:100%;padding:10px 14px 12px;display:flex;box-shadow:0 10px 25px #94a3b859,0 0 0 1px #d1d5dbe6}.summary-card.salary-summary-card{gap:0;padding:14px 14px 16px}.salary-summary-period{border-bottom:1px solid #d1d5dbd9;justify-content:center;align-items:center;gap:8px;margin:0 0 14px;padding-bottom:12px;display:flex}.salary-summary-period-icon{filter:drop-shadow(0 1px 1px #0000000f);font-size:20px;line-height:1}.salary-summary-period-text{color:#111827;letter-spacing:-.02em;font-size:14px;font-weight:800}.salary-summary-triple{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(4px,1.2vw,8px);width:100%;display:grid}.salary-summary-stat-tile{text-align:center;box-sizing:border-box;background:linear-gradient(165deg,#fff 0%,#f9fafb 100%);border:1px solid #e5e7eb;border-radius:12px;flex-direction:column;align-items:center;gap:clamp(3px,1vw,6px);min-width:0;padding:clamp(8px,2.2vw,14px) clamp(6px,1.8vw,10px) clamp(10px,2.6vw,16px);display:flex;box-shadow:0 2px 6px #0f172a0f,inset 0 1px #ffffffe6}.salary-summary-stat-tile--work{background:linear-gradient(165deg,#eff6ff 0%,#fff 70%);border-color:#3b82f659}.salary-summary-stat-tile--absent{background:linear-gradient(165deg,#fef2f2 0%,#fff 70%);border-color:#f8717173}.salary-summary-stat-tile--pay{background:linear-gradient(165deg,#fffbeb 0%,#fff 70%);border-color:#eab30873}.salary-summary-tile-icon{font-size:clamp(16px,4.6vw,26px);line-height:1}.salary-summary-tile-label{color:#6b7280;letter-spacing:-.03em;font-size:clamp(9px,2.2vw,11px);font-weight:700}.salary-summary-tile-value{color:#0f172a;font-variant-numeric:tabular-nums;word-break:keep-all;font-size:clamp(10px,2.9vw,15px);font-weight:800;line-height:1.25}.salary-detail .summary-card:not(.summary-card--day-detail-box){border-radius:8px;padding:12px 16px 14px;box-shadow:0 10px 25px #0f172a1a,0 0 0 1px #94a3b84d}.summary-card.summary-card--day-detail-box{box-sizing:border-box;background:linear-gradient(#f8fafc,#f1f5f9);border:1px solid #e2e8f0;border-radius:12px;gap:10px;padding:10px 12px 12px;box-shadow:inset 0 1px #ffffffbf,0 4px 18px #0f172a12}.summary-card.summary-card--day-detail-box .summary-detail-header{background:#fff;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:0;padding:8px 10px;box-shadow:inset 0 1px 2px #0f172a0a}.summary-card.summary-card--day-detail-box .summary-detail-nav{background:linear-gradient(#fff,#f1f5f9);border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 1px 2px #0f172a0d}.summary-card.summary-card--day-detail-box .summary-detail-nav:hover:not(:disabled){background:linear-gradient(#f8fafc,#e2e8f0)}.summary-card.summary-card--day-detail-box .summary-detail{background:#fff;border:1px solid #e2e8f0;border-radius:8px;margin-top:8px;padding:10px 12px;box-shadow:inset 0 1px 2px #0f172a0a}.summary-card.summary-card--day-detail-box .summary-detail-row{background:#f8fafc;border:1px solid #e8ecf0;border-radius:8px;margin:0 0 6px;padding:8px 10px}.summary-card.summary-card--day-detail-box .summary-detail-row:last-child{margin-bottom:0}.salary-detail .summary-card.summary-card--day-detail-box{background:linear-gradient(#f8fafc,#f1f5f9);border:1px solid #e2e8f0;border-radius:12px;padding:10px 12px 12px;box-shadow:inset 0 1px #ffffffbf,0 4px 18px #0f172a12}.summary-title{color:#111827;text-align:center;margin:0 0 1px;font-size:13px;font-weight:600}.summary-inline{color:#4b5563;text-align:center;margin:0;font-size:12px}.summary-inline-text{background:#ffffffb3;border-radius:999px;justify-content:center;align-items:center;gap:4px;padding:0 4px;display:inline-flex}.summary-month{color:#111827;font-weight:600}.summary-label{color:#6b7280;font-size:11px}.summary-value{color:#111827;font-weight:600}.summary-dot{color:#d1d5db;font-size:12px}.summary-chip{background:#f3f4f6;border-radius:999px;align-items:center;gap:4px;padding:4px 8px;font-weight:400;display:inline-flex}.summary-chip-label{color:#6b7280;font-size:11px}.summary-chip-value{color:#111827;font-size:12px;font-weight:600}.salary-header-month.attendance-header-month{justify-content:center;margin:0 auto 8px}.month-panel{box-sizing:border-box;background:#fff;border-radius:10px;width:95%;max-width:320px;margin:4px auto 10px;padding:8px 10px 10px;box-shadow:0 10px 25px #94a3b859,0 0 0 1px #d1d5dbe6}.month-panel-header{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.month-panel-year{color:#111827;font-size:13px;font-weight:600}.month-panel-nav{color:#4b5563;cursor:pointer;background:#f3f4f6;border:1px solid #94a3b899;border-radius:6px;justify-content:center;align-items:center;width:26px;height:26px;font-size:13px;display:flex}.month-panel-nav:hover{background:#e5e7eb}.month-panel-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.month-panel-month{color:#4b5563;cursor:pointer;background:#f9fafb;border:1px solid #d1d5dbe6;border-radius:8px;padding:4px 0;font-size:12px}.month-panel-month-active{color:#1d4ed8;background:linear-gradient(135deg,#e0f2fe,#bfdbfe);border-color:#3b82f6b3;font-weight:600}.salary-calendar{background:#fffdf6;border:1px solid #d1d5dbe6;border-radius:10px;width:95%;margin:0 auto;padding:16px 0 18px;box-shadow:0 10px 25px #94a3b859,0 0 0 1px #d1d5dbe6}.calendar-header{text-transform:uppercase;letter-spacing:.18em;color:#9ca3af;grid-template-columns:repeat(7,1fr);margin-bottom:6px;font-size:11px;font-weight:600;display:grid}.calendar-weekday{text-align:center;padding:4px 0}.calendar-weekday:first-child{color:#dc2626}.calendar-weekday:last-child{color:#2563eb}.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;padding:0 3%;display:grid}.calendar-animate-next{animation:.22s ease-out calendar-slide-next}.calendar-animate-prev{animation:.22s ease-out calendar-slide-prev}@keyframes calendar-slide-next{0%{opacity:0;transform:translate(8px)}to{opacity:1;transform:translate(0)}}@keyframes calendar-slide-prev{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}.calendar-cell{background:#fff;border-radius:12px;flex-direction:column;justify-content:flex-start;gap:4px;min-height:clamp(64px,10vw,88px);padding:8px 6px;animation:.45s ease-out both float-up;display:flex;box-shadow:0 2px 4px #94a3b859}.calendar-cell:nth-child(7n+1),.calendar-cell:nth-child(7n){background:#f9fafb}.calendar-cell.empty{box-shadow:none;background:0 0}.cell-header{justify-content:space-between;align-items:flex-start;display:flex}.cell-header-main{align-items:flex-start;gap:4px;min-width:0;display:inline-flex}.cell-header-main--contract{align-items:center;gap:6px}.cell-day{color:#111827;font-size:13px;font-weight:600}.cell-status{margin:0;font-size:11px;font-weight:500}.cell-metrics{border-top:1px solid #e2e8f0d9;flex-direction:column;align-items:stretch;gap:3px;min-width:0;margin-top:1px;padding-top:2px;display:flex}.cell-work{color:#475569;letter-spacing:-.02em;margin:0;font-size:12px;font-weight:600;line-height:1.25}.cell-contract-metrics{flex-direction:column;align-items:stretch;gap:5px;min-width:0;display:flex}.cell-contract-metrics .cell-work{color:#1d4ed8;white-space:nowrap;box-sizing:border-box;max-width:100%;padding:0;font-size:11px;font-weight:700;line-height:1.2;display:block;overflow:hidden}.cell-contract-metrics .cell-amount{color:#0f172a;white-space:nowrap;word-break:keep-all;box-sizing:border-box;max-width:100%;padding:0;font-size:12px;font-weight:800;line-height:1.15;display:block;overflow:hidden}.cell-status.subtle{color:#9ca3af;font-weight:400}.cell-status-inline{box-sizing:border-box;vertical-align:top;max-width:100%;min-height:2.24em;margin:0;font-size:11px;font-weight:500;line-height:1.12;display:inline-block}.cell-status-inline--contract{vertical-align:middle;align-items:center;min-height:auto;line-height:1.1;display:inline-flex}.cell-status-inline.cell-status-stacked{text-align:center;flex-direction:column;justify-content:flex-start;align-items:center;gap:1px;min-height:2.35em;line-height:1.15;display:inline-flex}.cell-status-inline.cell-status-single-centered{vertical-align:top;justify-content:center;align-items:center;min-height:2.35em;line-height:1.2;display:inline-flex}.cell-status-line{letter-spacing:-.03em;font-size:10px;font-weight:600;line-height:1.2;display:block}.cell-status-inline.subtle{color:#9ca3af}.cell-status-inline.status-on{color:#16a34a}.cell-status-inline.status-holiday-work{color:#dc2626}.cell-status-inline.status-absent{color:#64748b}.cell-status-inline.status-early{color:#ea580c}.cell-status-inline.status-holiday{color:#2563eb}.cell-status-inline.status-leave{color:#7c3aed}.cell-amount{letter-spacing:-.03em;color:#0f172a;font-variant-numeric:tabular-nums;margin:0;font-size:12px;font-weight:700;line-height:1.2}.status-paid,.status-upcoming,.status-late{background:inherit}.is-selected{box-shadow:inset 0 0 0 2px #2563ebbf,0 2px 4px #94a3b859}.is-sunday .cell-day{color:#dc2626}.is-saturday .cell-day{color:#2563eb}@keyframes today-pulse{0%{text-shadow:0 0 #3b82f600;color:#1d4ed8}50%{text-shadow:0 0 6px #3b82f6e6,0 0 10px #bfdbfee6;color:#2563eb}to{text-shadow:0 0 #3b82f600;color:#1d4ed8}}.is-today .cell-day{font-weight:700;animation:1.6s ease-in-out infinite today-pulse}.summary-detail{border-top:1px solid #e5e7eb;margin-top:0;padding-top:6px;font-size:13px}.summary-detail-header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.summary-detail-header--nav{align-items:center;gap:8px;justify-content:initial;grid-template-columns:auto minmax(0,1fr) auto;display:grid}.summary-detail-header--nav .summary-detail-date{text-align:center;min-width:0}.summary-detail-header--solo{justify-content:center}.summary-detail-date{color:#111827;margin:0;font-size:13px;font-weight:600}.summary-detail-date--solo{text-align:center;width:100%}.summary-detail-nav{color:#4b5563;cursor:pointer;background:#f9fafb;border:1px solid #94a3b899;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;font-size:13px;display:flex;box-shadow:0 1px 2px #94a3b859,0 0 0 .5px #d1d5dbb3}.summary-detail-nav:hover:not(:disabled){color:#4338ca;background:#eef2ff}.summary-detail-nav:disabled{opacity:.4;cursor:not-allowed}.summary-detail-row{color:#4b5563;grid-template-columns:7.25rem minmax(0,1fr);align-items:start;gap:2px 12px;margin:0 0 6px;font-size:13px;line-height:1.45;display:grid}.summary-detail-label{color:#6b7280;padding-top:1px;font-size:13px;font-weight:500}.summary-detail-value{color:#111827;word-break:keep-all;text-align:right;min-width:0;font-size:13px;font-weight:600}.summary-detail-time{text-align:right;color:#111827;letter-spacing:-.02em;flex-direction:column;align-items:flex-end;gap:4px;width:100%;min-width:0;font-size:13px;font-weight:600;line-height:1.45;display:flex}.summary-detail-clock-line{color:#111827;font-size:13px;font-weight:600}.summary-detail-hours-line{color:#111827;letter-spacing:-.02em;font-size:13px;font-weight:600}.admin-attendance{flex-direction:column;gap:8px;display:flex}.admin-attendance-upload{background:linear-gradient(145deg,#f8fafc 0%,#eff6ff 100%);border:1px solid #dbeafe;border-radius:10px;margin-bottom:4px;padding:10px 14px}.admin-attendance-upload-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.admin-attendance-upload-label{color:#1e3a8a;font-size:13px;font-weight:700}.admin-attendance-upload-hint{color:#64748b;margin:6px 0 0;font-size:11px}.admin-attendance-overview{background:linear-gradient(165deg,#fff 0%,#f8fafc 100%);border:1px solid #e0e7ff;border-radius:10px;margin-bottom:4px;padding:12px 12px 14px;box-shadow:0 1px 3px #0f172a0f}.admin-attendance-overview-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:6px;display:flex}.admin-attendance-overview-title{color:#1e293b;letter-spacing:-.02em;margin:0;font-size:14px;font-weight:700}.admin-attendance-overview-nav{align-items:center;gap:8px;display:inline-flex}.admin-attendance-overview-step{cursor:pointer;color:#475569;background:#fff;border:1px solid #cbd5e1;border-radius:8px;width:30px;height:30px;font-size:12px;line-height:1}.admin-attendance-overview-step:hover{background:#f8fafc;border-color:#94a3b8}.admin-attendance-overview-period{color:#0f172a;text-align:center;font-variant-numeric:tabular-nums;min-width:7.5em;font-size:13px;font-weight:700}.admin-attendance-overview-hint{color:#64748b;margin:0 0 10px;font-size:11px;line-height:1.45}.admin-attendance-overview-grid{grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:10px;display:grid}.admin-attendance-overview-card{text-align:left;cursor:pointer;box-sizing:border-box;background:#fff;border:1px solid #e2e8f0;border-radius:10px;flex-direction:column;align-items:flex-start;gap:4px;min-height:96px;padding:10px 10px 11px;transition:border-color .15s,box-shadow .15s,transform .12s;display:flex}.admin-attendance-overview-card:hover{border-color:#93c5fd;box-shadow:0 4px 12px #2563eb1f}.admin-attendance-overview-card--focused{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f640,0 4px 14px #2563eb26}.admin-attendance-overview-card-name{color:#0f172a;word-break:keep-all;font-size:13px;font-weight:700;line-height:1.25}.admin-attendance-overview-card-team{color:#64748b;font-size:11px;font-weight:600}.admin-attendance-overview-card-hours{color:#334155;margin-top:2px;font-size:12px}.admin-attendance-overview-card-hours strong{color:#1d4ed8;font-variant-numeric:tabular-nums;font-weight:800}.admin-attendance-overview-card-meta{color:#94a3b8;border-top:1px solid #f1f5f9;width:100%;margin-top:auto;padding-top:4px;font-size:10px;line-height:1.35}.admin-attendance-excel{background:linear-gradient(145deg,#f8fafc 0%,#eff6ff 100%);border:1px solid #dbeafe;border-radius:10px;margin-bottom:4px;padding:12px 14px}.admin-attendance-excel-title{color:#1e3a8a;margin:0 0 10px;font-size:13px;font-weight:700}.admin-attendance-excel-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.admin-attendance-excel-btn{color:#fff;cursor:pointer;background:linear-gradient(#3b82f6,#2563eb);border:1px solid #3b82f6;border-radius:8px;height:34px;padding:0 14px;font-size:12px;font-weight:700}.admin-attendance-excel-btn:hover{filter:brightness(1.05)}.admin-attendance-excel-btn--secondary{color:#1e293b;background:linear-gradient(#fff,#f1f5f9);border-color:#cbd5e1;font-weight:600}.admin-attendance-excel-btn--secondary:hover{filter:none;border-color:#94a3b8}.admin-attendance-excel-input-hidden{clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.admin-attendance-form{background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;flex-direction:column;gap:8px;padding:10px;display:flex}.admin-attendance-row{grid-template-columns:78px minmax(0,1fr);align-items:center;gap:8px;display:grid}.admin-attendance-row label{color:#6b7280;font-size:12px}.admin-attendance-select,.admin-attendance-input{box-sizing:border-box;color:#0f172a;-webkit-text-fill-color:#0f172a;background:#fff;border:1px solid #e5e7eb;border-radius:8px;height:32px;padding:0 8px;font-size:12px}.admin-attendance-check-list{background:#fff;border:1px solid #e5e7eb;border-radius:8px;flex-wrap:wrap;gap:8px 12px;padding:6px 8px;display:flex}.admin-attendance-team-list{flex-direction:column;gap:8px;display:flex}.admin-attendance-team-group{flex-direction:column;gap:4px;display:flex}.admin-attendance-team-title{color:#4b5563;margin:0;font-size:11px;font-weight:600}.admin-attendance-check-item{color:#374151;align-items:center;gap:4px;font-size:12px;display:inline-flex}.admin-attendance-check-item-applied{color:#9ca3af}.admin-attendance-check-item-applied input{accent-color:#9ca3af}.admin-attendance-row-work-date{align-items:flex-start}.admin-attendance-row-work-date>label{padding-top:6px}.admin-attendance-work-date-wrap{flex-direction:column;gap:4px;min-width:0;display:flex}.admin-attendance-time-spin,.admin-attendance-work-date-bar{background:linear-gradient(#f8fafc,#f1f5f9);border:1px solid #e2e8f0;border-radius:12px;flex-flow:wrap;align-items:center;gap:6px;min-width:0;padding:4px 6px;display:inline-flex;box-shadow:inset 0 1px #ffffffbf}.admin-attendance-time-arrow,.admin-attendance-date-step{cursor:pointer;color:#475569;box-sizing:border-box;background:linear-gradient(#fff,#f1f5f9);border:1px solid #e2e8f0;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:34px;padding:0;font-size:11px;line-height:1;display:inline-flex;box-shadow:0 1px 2px #0f172a0d}.admin-attendance-work-date-input{font-variant-numeric:tabular-nums;color:#0f172a;box-sizing:border-box;background:#fff;border:1px solid #e2e8f0;border-radius:8px;flex:none;width:168px;min-width:160px;max-width:min(220px,100%);height:34px;padding:0 10px;font-size:13px;overflow:visible;box-shadow:inset 0 1px 2px #0f172a0a}.admin-attendance-today-button{color:#1e40af;letter-spacing:-.02em;cursor:pointer;white-space:nowrap;box-sizing:border-box;background:linear-gradient(#fff,#f1f5f9);border:1px solid #e2e8f0;border-radius:8px;flex-shrink:0;min-width:48px;height:34px;padding:0 12px;font-size:12px;font-weight:600;line-height:1.2;box-shadow:0 1px 2px #0f172a0d}.admin-attendance-today-button:hover{color:#1e3a8a;background:linear-gradient(#eff6ff,#dbeafe);border-color:#93c5fd}.admin-attendance-work-date-label{color:#6b7280;margin:0;font-size:11px;font-weight:500}.admin-attendance-row-time{align-items:flex-start}.admin-attendance-row-time>label{padding-top:6px}.admin-attendance-time-wrap{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.admin-attendance-time-arrow:hover:not(:disabled),.admin-attendance-date-step:hover{color:#0f172a;background:linear-gradient(#f8fafc,#e2e8f0)}.admin-attendance-time-arrow:disabled{opacity:.45;cursor:default}.admin-attendance-time-input{font-variant-numeric:tabular-nums;box-sizing:border-box;color:#0f172a;-webkit-text-fill-color:#0f172a;background:#fff;border:1px solid #e2e8f0;border-radius:8px;flex:none;width:142px;min-width:142px;height:34px;padding:0 10px;font-size:13px;overflow:visible;box-shadow:inset 0 1px 2px #0f172a0a}.admin-attendance-time-sep{color:#94a3b8;align-self:center;padding:0 4px;font-size:14px;font-weight:600}.admin-attendance-row-types,.admin-attendance-row-employees{align-items:flex-start}.admin-attendance-row-types>label,.admin-attendance-row-employees>label{padding-top:8px}.admin-attendance-type-shell,.admin-attendance-meal-shell,.admin-attendance-employees-shell{box-sizing:border-box;background:linear-gradient(#f8fafc,#f1f5f9);border:1px solid #e2e8f0;border-radius:12px;flex-direction:column;width:100%;min-width:0;padding:8px 10px;display:flex;box-shadow:inset 0 1px #ffffffbf}.admin-attendance-type-group{flex-wrap:wrap;gap:8px 10px;display:flex}.admin-attendance-type-option{color:#334155;cursor:pointer;box-sizing:border-box;background:#fff;border:1px solid #e2e8f0;border-radius:8px;align-items:center;gap:6px;padding:5px 10px;font-size:12px;display:inline-flex;box-shadow:0 1px 2px #0f172a0d}.admin-attendance-type-option:has(input:checked){color:#1e3a8a;background:linear-gradient(#eff6ff,#fff);border-color:#93c5fd}.admin-attendance-type-option input{accent-color:#2563eb}.admin-attendance-footer{justify-content:space-between;align-items:center;display:flex}.admin-attendance-hours{color:#4b5563;font-size:11px}.admin-attendance-submit{cursor:pointer;color:#f9fafb;background:linear-gradient(135deg,#2563eb,#1d4ed8);border:none;border-radius:999px;padding:6px 12px;font-size:12px;font-weight:600}.admin-attendance-list{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:8px 10px}.admin-attendance-list-title{margin:0 0 6px;font-size:12px;font-weight:600}.admin-attendance-list-header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;display:flex}.admin-attendance-date-nav{align-items:center;gap:4px;display:inline-flex}.admin-attendance-date-nav button{cursor:pointer;background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;width:24px;height:24px;font-size:11px}.admin-attendance-date-nav input{border:1px solid #e5e7eb;border-radius:6px;height:24px;padding:0 6px;font-size:11px}.admin-attendance-empty{color:#9ca3af;margin:0;font-size:11px}.admin-attendance-item{border-top:1px solid #f3f4f6;grid-template-columns:80px 1fr 1fr;gap:6px;padding:4px 0;font-size:11px;display:grid}.admin-attendance-item-time{align-items:center;gap:4px;width:100%;display:flex}.admin-attendance-item-time>.admin-attendance-delete-button{margin-left:auto}.admin-attendance-inline-check{color:#4b5563;align-items:center;gap:3px;font-size:11px;display:inline-flex}.admin-attendance-inline-input{box-sizing:border-box;border:1px solid #e5e7eb;border-radius:6px;width:76px;height:24px;padding:0 4px;font-size:11px}.admin-attendance-delete-button{cursor:pointer;color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:999px;padding:2px 8px;font-size:11px}.admin-attendance-meal-deductions{align-items:flex-start}.admin-attendance-meal-label{color:#6b7280;padding-top:8px;font-size:12px;font-weight:500}.admin-attendance-meal-deduction-list{flex-direction:column;gap:8px;min-width:0;display:flex}.admin-attendance-meal-deduction-item{color:#334155;box-sizing:border-box;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px;padding:6px 10px;font-size:12px;display:flex;box-shadow:0 1px 2px #0f172a0a}.admin-attendance-meal-deduction-item input{accent-color:#2563eb}.admin-attendance-meal-hint{color:#94a3b8;border-top:1px solid #e2e8f0;margin:4px 0 0;padding-top:8px;font-size:10px;line-height:1.4}.admin-attendance-employees-shell .admin-attendance-team-group{background:#fff;border:1px solid #e2e8f0;border-radius:8px;margin:0;padding:8px 10px;box-shadow:inset 0 1px 2px #0f172a0a}.admin-attendance-employees-shell .admin-attendance-team-title{color:#475569;letter-spacing:-.02em;border-bottom:1px solid #f1f5f9;margin:0 0 8px;padding-bottom:6px;font-size:11px;font-weight:600}.admin-attendance-employees-shell .admin-attendance-check-list{background:0 0;border:none;flex-wrap:wrap;gap:8px 12px;margin:0;padding:0;display:flex}.admin-attendance-employees-shell .admin-attendance-check-item{box-sizing:border-box;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:4px 8px;font-size:12px}.admin-attendance-employees-shell .admin-attendance-check-item-applied{color:#64748b;cursor:pointer;background:#f1f5f9;border-color:#cbd5e1}.admin-attendance-employees-shell .admin-attendance-check-item-applied:focus-visible{outline-offset:2px;outline:2px solid #6366f1}.admin-attendance-table-wrap{background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow-x:auto}.admin-attendance-table{border-collapse:collapse;width:100%;font-size:12px}.admin-attendance-table th,.admin-attendance-table td{text-align:left;vertical-align:middle;border-bottom:1px solid #f3f4f6;padding:8px 10px}.admin-attendance-table th{color:#374151;white-space:nowrap;background:#f9fafb;font-weight:600}.admin-attendance-table tr:last-child td{border-bottom:none}.admin-attendance-detail-button{cursor:pointer;color:#4338ca;background:#eef2ff;border:1px solid #c7d2fe;border-radius:999px;padding:3px 10px;font-size:11px}.admin-attendance-detail-backdrop{z-index:100;box-sizing:border-box;background:#0f172a73;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.admin-attendance-detail-modal{background:#fffdf6;border-radius:12px;width:100%;max-width:420px;max-height:90vh;padding:12px 14px 14px;overflow:auto;box-shadow:0 20px 40px #0f172a2e,0 0 0 1px #d1d5dbe6}.admin-attendance-detail-modal-bar{justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.admin-attendance-detail-modal-title{color:#111827;font-size:13px;font-weight:600}.admin-attendance-detail-close{cursor:pointer;color:#374151;background:#fff;border:1px solid #e5e7eb;border-radius:8px;flex-shrink:0;padding:4px 10px;font-size:12px}.admin-attendance-detail-body .summary-card.summary-card--day-detail-box{max-width:100%}.admin-attendance-detail-body .summary-card:not(.summary-card--day-detail-box){box-shadow:none;padding-left:0;padding-right:0}.admin-attendance-detail-error{color:#b91c1c;margin:0;font-size:12px}.admin-attendance-row-alba{margin-bottom:4px}.admin-attendance-alba-label{color:#334155;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:flex-start;gap:10px;font-size:13px;font-weight:600;display:flex}.admin-attendance-alba-label input{flex-shrink:0;margin-top:3px}.admin-attendance-row-alba-extra{align-items:flex-start}.admin-attendance-alba-extra-shell{flex-direction:column;gap:8px;width:100%;display:flex}.admin-attendance-alba-extra-hint{color:#64748b;margin:0;font-size:12px;line-height:1.45}.admin-attendance-alba-time-wrap{max-width:280px}.admin-attendance-alba-meals{margin-top:0!important}.admin-attendance-alba-extra-calc{color:#475569;margin:0;font-size:12px}.admin-attendance-alba-extra-calc strong{color:#0f172a}.admin-attendance-monthlist-backdrop{z-index:95;box-sizing:border-box;background:#0f172a7a;justify-content:center;align-items:flex-start;padding:12px;display:flex;position:fixed;inset:0;overflow-y:auto}.admin-attendance-monthlist-modal{background:#fff;border-radius:14px;flex-direction:column;width:min(560px,100%);max-height:min(92vh,900px);margin-top:4vh;margin-bottom:4vh;display:flex;overflow:hidden;box-shadow:0 24px 48px #0f172a33,0 0 0 1px #e2e8f0e6}.admin-attendance-monthlist-head{border-bottom:1px solid #f1f5f9;flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:10px;padding:14px 16px 10px;display:flex}.admin-attendance-monthlist-head-text{min-width:0}.admin-attendance-monthlist-title{color:#0f172a;letter-spacing:-.03em;word-break:keep-all;margin:0;font-size:16px;font-weight:800}.admin-attendance-monthlist-sub{color:#64748b;margin:6px 0 0;font-size:12px;line-height:1.45}.admin-attendance-monthlist-close{color:#475569;cursor:pointer;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;flex-shrink:0;padding:6px 12px;font-size:12px;font-weight:600}.admin-attendance-monthlist-close:hover{background:#f1f5f9}.admin-attendance-monthlist-nav{flex-shrink:0;justify-content:center;align-items:center;gap:12px;padding:8px 16px 10px;display:flex}.admin-attendance-monthlist-step{cursor:pointer;color:#475569;background:#fff;border:1px solid #cbd5e1;border-radius:8px;width:32px;height:32px;font-size:12px}.admin-attendance-monthlist-period{color:#0f172a;font-variant-numeric:tabular-nums;font-size:14px;font-weight:800}.admin-attendance-monthlist-actions{flex-shrink:0;padding:0 16px 10px}.admin-attendance-monthlist-select-emp{color:#1d4ed8;cursor:pointer;background:#eff6ff;border:1px dashed #93c5fd;border-radius:10px;width:100%;padding:8px 12px;font-size:12px;font-weight:700}.admin-attendance-monthlist-select-emp:hover{background:#dbeafe}.admin-attendance-monthlist-table-wrap{flex:1;min-height:0;padding:0 8px 12px;overflow:auto}.admin-attendance-monthlist-table{border-collapse:collapse;width:100%;font-size:12px}.admin-attendance-monthlist-table th,.admin-attendance-monthlist-table td{text-align:left;vertical-align:middle;border-bottom:1px solid #f1f5f9;padding:8px 6px}.admin-attendance-monthlist-tr-editing{background:#eff6fff2}.admin-attendance-monthlist-td-summary{flex-direction:column;gap:4px;min-width:0;display:flex}.admin-attendance-monthlist-type{color:#0f172a;font-size:12px;font-weight:600}.admin-attendance-monthlist-time-summary{color:#64748b;font-size:11px}.admin-attendance-monthlist-td-edit{min-width:0}.admin-attendance-monthlist-inline{flex-direction:column;align-items:stretch;gap:8px;display:flex}.admin-attendance-monthlist-select{color:#0f172a;background:#fff;border:1px solid #cbd5e1;border-radius:8px;width:100%;max-width:200px;height:32px;padding:0 8px;font-size:12px;font-weight:600}.admin-attendance-monthlist-inline-times{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.admin-attendance-monthlist-time{border:1px solid #cbd5e1;border-radius:8px;height:32px;padding:0 6px;font-size:12px}.admin-attendance-monthlist-time-sep{color:#94a3b8;font-weight:600}.admin-attendance-monthlist-inline-meals{flex-wrap:wrap;gap:10px 14px;display:flex}.admin-attendance-monthlist-meal-item{color:#475569;cursor:pointer;align-items:center;gap:6px;font-size:11px;display:inline-flex}.admin-attendance-monthlist-meal-item input{accent-color:#2563eb}.admin-attendance-monthlist-td-actions{vertical-align:top;white-space:nowrap}.admin-attendance-monthlist-table th{color:#475569;z-index:1;white-space:nowrap;background:#f8fafc;font-weight:700;position:sticky;top:0}.admin-attendance-monthlist-tr-weekend{background:#f8fafcd9}.admin-attendance-monthlist-td-date{color:#0f172a;white-space:nowrap;font-weight:600}.admin-attendance-monthlist-hint{color:#ea580c;font-size:10px;font-weight:500}.admin-attendance-monthlist-empty{color:#cbd5e1}.admin-attendance-monthlist-actions-cell{flex-wrap:wrap;justify-content:flex-end;gap:4px;display:flex}.admin-attendance-monthlist-btn{color:#475569;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:4px 8px;font-size:11px;font-weight:600}.admin-attendance-monthlist-btn:hover{background:#f8fafc;border-color:#cbd5e1}.admin-attendance-monthlist-btn--primary{color:#1d4ed8;background:#eff6ff;border-color:#93c5fd}.admin-attendance-monthlist-btn--danger{color:#b91c1c;background:#fef2f2;border-color:#fecaca}.emp-point-modal-backdrop{z-index:100;box-sizing:border-box;background:#0f172a73;justify-content:center;align-items:flex-end;padding:0;display:flex;position:fixed;inset:0}@media (width>=520px){.emp-point-modal-backdrop{align-items:center;padding:16px}}.emp-point-modal{background:#fff;border-radius:14px 14px 0 0;flex-direction:column;width:100%;max-width:420px;max-height:min(100dvh,100vh);display:flex;overflow:hidden;box-shadow:0 -8px 32px #0000001f}@media (width>=520px){.emp-point-modal{border-radius:14px;max-height:min(92vh,720px)}}.emp-point-modal-head{border-bottom:1px solid #e5e7eb;flex-shrink:0;justify-content:space-between;align-items:center;padding:8px 12px;display:flex}.emp-point-modal-title{color:#111827;margin:0;font-size:15px;font-weight:700}.emp-point-modal-close{cursor:pointer;color:#4b5563;background:#f3f4f6;border:none;border-radius:8px;width:32px;height:32px;font-size:14px;line-height:1}.emp-point-modal-emp{color:#374151;flex-shrink:0;margin:0;padding:6px 12px 0;font-size:12px;font-weight:600}.emp-point-modal-balance{color:#6b7280;flex-shrink:0;margin:2px 12px 8px;font-size:12px}.emp-point-modal-balance strong{color:#111827;font-size:15px}.emp-point-modal-log-count{color:#9ca3af;font-size:12px;font-weight:500}.emp-point-modal-edit{border-bottom:1px solid #f3f4f6;flex-direction:column;flex-shrink:0;gap:6px;padding:0 12px 8px;display:flex}.emp-point-modal-label{color:#6b7280;flex-direction:column;gap:4px;font-size:11px;font-weight:600;display:flex}.emp-point-modal-edit-row{align-items:center;gap:6px;display:flex}.emp-point-modal-input{box-sizing:border-box;border:1px solid #e5e7eb;border-radius:8px;width:8rem;padding:6px 8px;font-size:13px}.emp-point-modal-input-full{width:100%}.emp-point-modal-unit{color:#374151;font-size:13px;font-weight:600}.emp-point-modal-apply{color:#fff;cursor:pointer;background:linear-gradient(135deg,#2563eb,#1d4ed8);border:none;border-radius:8px;align-self:flex-start;margin-top:2px;padding:6px 12px;font-size:12px;font-weight:600}.emp-point-modal-log-wrap{flex-direction:column;flex:0 auto;min-height:0;padding:6px 12px 8px;display:flex;overflow:visible}.emp-point-modal-log-body{flex-direction:column;flex:none;display:flex;overflow:visible}.emp-point-modal-log-scroll{border-radius:8px;flex:none;overflow:visible}.emp-point-modal-log-head{flex-shrink:0;justify-content:space-between;align-items:center;gap:6px;margin-bottom:4px;display:flex}.emp-point-modal-log-title{color:#374151;margin:0;font-size:12px;font-weight:700}.emp-point-modal-log-clear{color:#b91c1c;cursor:pointer;background:#fff;border:1px solid #fecaca;border-radius:6px;flex-shrink:0;padding:4px 10px;font-size:11px;font-weight:600}.emp-point-modal-log-clear:hover{background:#fef2f2}.emp-point-modal-log,.emp-point-modal-log-shell{--point-log-row-h:32px;--point-log-gap:4px;--point-log-rows:10;box-sizing:border-box}.emp-point-modal-log-shell--empty{background:#fafafa;border:1px dashed #e5e7eb;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.emp-point-modal-log{gap:var(--point-log-gap);min-height:calc(var(--point-log-rows) * var(--point-log-row-h) + (var(--point-log-rows) - 1) * var(--point-log-gap));flex-direction:column;flex-shrink:0;margin:0;padding:0;list-style:none;display:flex;overflow:visible}.emp-point-modal-log-empty{color:#9ca3af;margin:0;font-size:12px}.emp-point-modal-log-line{box-sizing:border-box;min-height:var(--point-log-row-h);height:var(--point-log-row-h);color:#1f2937;font-variant-numeric:tabular-nums;background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;grid-template-columns:minmax(8.5rem,40%) minmax(0,1fr);align-items:center;column-gap:6px;padding:0 6px;font-size:11px;line-height:1.15;display:grid}.emp-point-modal-log-line--placeholder{pointer-events:none;background:#fafafa;border-style:dashed;border-color:#eceef2}.emp-point-modal-log-left{text-align:left;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.emp-point-modal-log-right{text-align:right;white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.emp-point-modal-pager{background:#fff;border-top:1px solid #e5e7eb;flex-shrink:0;justify-content:center;align-items:center;gap:8px;margin-top:4px;padding:6px 2px 2px;display:flex}.emp-point-modal-pager-btn{color:#374151;cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:5px 12px;font-size:11px;font-weight:600}.emp-point-modal-pager-btn:disabled{opacity:.4;cursor:not-allowed}.emp-point-modal-pager-info{color:#6b7280;text-align:center;font-variant-numeric:tabular-nums;min-width:4rem;font-size:11px;font-weight:700}.admin-shop-section{max-width:640px}.admin-point-section-title{color:#111827;align-items:center;gap:8px;margin:0 0 10px;font-size:14px;font-weight:800;display:flex}.admin-point-badge-pulse{color:#fff;background:linear-gradient(135deg,#f97316,#ea580c);border-radius:999px;justify-content:center;align-items:center;min-width:22px;height:22px;padding:0 6px;font-size:12px;font-weight:800;animation:1.6s ease-in-out infinite admin-point-pulse;display:inline-flex}@keyframes admin-point-pulse{0%,to{transform:scale(1);box-shadow:0 0 #ea580c73}50%{transform:scale(1.05);box-shadow:0 0 0 6px #ea580c00}}.admin-point-empty{color:#9ca3af;margin:0;font-size:12px}.admin-point-pending-wrap{background:linear-gradient(#fffbeb 0%,#fff 100%);border:1px solid #fed7aa;border-radius:12px;margin-bottom:20px;padding:14px}.admin-point-order-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.admin-point-order-card{background:#fff;border:1px solid #fde68a;border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:10px;padding:12px;display:flex;box-shadow:0 2px 8px #0f172a0a}.admin-point-order-emp{color:#0f172a;margin:0 0 4px;font-size:13px;font-weight:800}.admin-point-order-product{color:#374151;margin:0 0 4px;font-size:12px;font-weight:600}.admin-point-order-meta{color:#6b7280;margin:0;font-size:11px}.admin-point-order-actions{flex-wrap:wrap;gap:8px;display:flex}.admin-point-order-btn{cursor:pointer;color:#374151;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:8px 12px;font-size:12px;font-weight:700}.admin-point-order-btn.primary{color:#fff;background:linear-gradient(135deg,#7c3aed,#6d28d9);border:none}.admin-point-order-btn.danger{color:#b91c1c;background:#fff;border-color:#fecaca}.admin-point-history-wrap{border-top:1px solid #e5e7eb;margin:20px 0;padding-top:8px}.admin-point-history-list{flex-direction:column;gap:6px;max-height:280px;margin:0;padding:0;list-style:none;display:flex;overflow:auto}.admin-point-history-row{background:#f9fafb;border-radius:8px;flex-wrap:wrap;align-items:center;gap:6px 10px;padding:8px 10px;font-size:11px;display:flex}.admin-point-history-status{text-align:center;border-radius:4px;flex-shrink:0;padding:2px 6px;font-size:10px;font-weight:700}.admin-point-history-status.is-pending{color:#b45309;background:#fef3c7}.admin-point-history-status.is-done{color:#047857;background:#d1fae5}.admin-point-history-status.is-cancel{color:#b91c1c;background:#fee2e2}.admin-point-history-emp{color:#111827;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-weight:700;overflow:hidden}.admin-point-history-title{color:#4b5563;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:120px;overflow:hidden}.admin-point-history-price{color:#ea580c;margin-left:auto;font-weight:700}.admin-point-history-time{color:#9ca3af;flex-basis:100%;width:100%;font-size:10px}.admin-point-employees-wrap{border-top:1px solid #e5e7eb;margin-top:20px;padding-top:16px}.admin-point-employees-hint{color:#6b7280;margin:0 0 10px;font-size:11px;line-height:1.45}.admin-point-emp-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.admin-point-emp-row{background:#fff;border:1px solid #e5e7eb;border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;display:flex}.admin-point-emp-row-pending{background:#fffbeb;border-color:#fcd34d}.admin-point-emp-name{color:#111827;flex:1;min-width:0;font-size:13px;font-weight:600}.admin-point-emp-balance{color:#ea580c;font-size:13px;font-weight:800}.admin-point-log-badge{color:#4338ca;cursor:pointer;background:#eef2ff;border:1px solid #e0e7ff;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:700}.admin-point-log-badge:hover{background:#e0e7ff}.admin-shop-form{background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;margin:12px 0 20px;padding:14px}.admin-shop-form-title{color:#111827;margin:0 0 12px;font-size:14px;font-weight:700}.admin-shop-label{color:#6b7280;flex-direction:column;gap:4px;margin-bottom:10px;font-size:11px;font-weight:600;display:flex}.admin-shop-input,.admin-shop-textarea{color:#111827;box-sizing:border-box;background:#fff;border:1px solid #e5e7eb;border-radius:8px;width:100%;padding:8px 10px;font-size:13px}.admin-shop-textarea{resize:vertical;min-height:72px}.admin-shop-row2{grid-template-columns:1fr 1fr;gap:10px;display:grid}.admin-shop-file{font-size:12px}.admin-shop-preview{align-items:flex-start;gap:10px;margin-top:8px;display:flex}.admin-shop-preview img{object-fit:cover;border:1px solid #e5e7eb;border-radius:8px;width:96px;height:96px}.admin-shop-remove-img{cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:6px;padding:4px 8px;font-size:11px}.admin-shop-check{color:#374151;align-items:center;gap:8px;margin-bottom:12px;font-size:12px;font-weight:600;display:flex}.admin-shop-actions{flex-wrap:wrap;gap:8px;display:flex}.admin-shop-save{cursor:pointer;color:#fff;background:linear-gradient(135deg,#7c3aed,#6d28d9);border:none;border-radius:8px;padding:8px 18px;font-size:13px;font-weight:700}.admin-shop-reset{cursor:pointer;color:#4b5563;background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:8px 14px;font-size:12px}.admin-shop-list-title{color:#374151;margin:0 0 8px;font-size:13px;font-weight:700}.admin-shop-empty{color:#9ca3af;margin:0;font-size:12px}.admin-shop-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.admin-shop-item{background:#fff;border:1px solid #e5e7eb;border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.admin-shop-item-main{align-items:center;gap:10px;min-width:0;display:flex}.admin-shop-thumb{object-fit:cover;border-radius:8px;width:48px;height:48px}.admin-shop-thumb-ph{color:#9ca3af;background:#f3f4f6;border-radius:8px;justify-content:center;align-items:center;width:48px;height:48px;font-size:10px;display:flex}.admin-shop-item-title{color:#111827;font-size:13px;font-weight:700}.admin-shop-item-meta{color:#6b7280;margin-top:2px;font-size:11px}.admin-shop-item-actions{flex-wrap:wrap;gap:6px;display:flex}.admin-shop-btn{cursor:pointer;color:#374151;background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;padding:5px 10px;font-size:11px}.admin-shop-btn.danger{color:#b91c1c;background:#fff;border-color:#fecaca}.admin-point-game-odds{background:linear-gradient(#f8fafc 0%,#fff 48%);border:1px solid #e2e8f0;border-radius:12px;margin-bottom:22px;padding:14px}.admin-point-game-odds-desc{color:#475569;margin:0 0 14px;font-size:12px;line-height:1.55}.admin-point-game-odds-split{flex-direction:column;gap:12px;display:flex}@media (width>=720px){.admin-point-game-odds-split{flex-direction:row;align-items:stretch}.admin-point-game-odds-card{flex:1;min-width:0}}.admin-point-game-odds-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:12px}.admin-point-game-odds-h4{color:#0f172a;margin:0 0 10px;font-size:12px;font-weight:800}.admin-point-game-odds-row{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.admin-point-game-odds-row--ladder{gap:8px}.admin-point-game-odds-label{color:#64748b;flex-direction:column;gap:4px;font-size:11px;font-weight:600;display:flex}.admin-point-game-odds-input{font-variant-numeric:tabular-nums;border:1px solid #cbd5e1;border-radius:8px;width:72px;padding:6px 8px;font-size:13px}.admin-point-game-odds-readonly{color:#64748b;align-self:center;padding:6px 8px;font-size:12px}.admin-point-game-odds-readonly strong{color:#0f172a;font-variant-numeric:tabular-nums}.admin-point-game-odds-note{color:#94a3b8;margin:8px 0 0;font-size:11px;line-height:1.45}.admin-point-game-odds-card-actions{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.admin-point-game-odds-actions{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.admin-point-game-odds-btn{cursor:pointer;border:1px solid #0000;border-radius:8px;padding:8px 14px;font-size:12px;font-weight:700}.admin-point-game-odds-btn.primary{color:#fff;background:#2563eb;border-color:#1d4ed8}.admin-point-game-odds-btn.ghost{color:#475569;background:#fff;border-color:#e2e8f0}.payroll-page{box-sizing:border-box;color:#111827;max-width:640px;margin:0 auto;padding:20px 4% 40px;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,system-ui,sans-serif}.payroll-page-header{margin-bottom:20px}.payroll-page-kicker{letter-spacing:.14em;text-transform:uppercase;color:#9ca3af;margin:0 0 4px;font-size:11px}.payroll-page-title{letter-spacing:-.04em;color:#0f172a;text-shadow:none;margin:0;font-size:22px;font-weight:700}.payroll-page-desc{color:#6b7280;max-width:420px;margin:6px 0 0;font-size:13px;line-height:1.45}.payroll-month-toolbar{background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;justify-content:center;align-items:center;gap:12px;margin-bottom:20px;padding:10px 12px;display:flex}.payroll-month-nav{color:#374151;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:10px;flex-shrink:0;width:40px;height:40px;font-size:20px;line-height:1;transition:background .15s,border-color .15s}.payroll-month-nav:hover{background:#f3f4f6;border-color:#9ca3af}.payroll-month-nav:disabled{opacity:.38;cursor:not-allowed;pointer-events:none}.payroll-month-picker-wrap{flex:1;min-width:0;max-width:300px;position:relative}.payroll-month-trigger{cursor:pointer;width:100%;min-height:44px;font:inherit;color:inherit;background:#fff;border:1px solid #d1d5db;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:8px 12px;transition:border-color .15s,box-shadow .15s;display:flex}.payroll-month-trigger:hover{border-color:#9ca3af}.payroll-month-trigger:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 2px #3b82f633}.payroll-month-trigger--open{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f633}.payroll-month-trigger-icon{color:#3b82f6;flex-shrink:0;display:flex}.payroll-month-calendar-svg{display:block}.payroll-month-trigger-label{letter-spacing:-.03em;text-align:center;flex:1;font-size:16px;font-weight:700}.payroll-month-trigger-chevron{color:#9ca3af;flex-shrink:0;font-size:12px;transition:transform .15s}.payroll-month-trigger--open .payroll-month-trigger-chevron{transform:rotate(-180deg)}.payroll-month-calendar-popover{z-index:40;background:#fff;border:1px solid #e5e7eb;border-radius:12px;width:min(100vw - 32px,320px);padding:12px;position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);box-shadow:0 18px 40px #0f172a1f,0 0 0 1px #0f172a0a}.payroll-month-calendar-head{border-bottom:1px solid #f3f4f6;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;padding-bottom:8px;display:flex}.payroll-month-calendar-year{letter-spacing:-.02em;font-size:15px;font-weight:700}.payroll-month-calendar-nav{color:#374151;cursor:pointer;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;flex-shrink:0;width:32px;height:32px;font-size:16px;line-height:1}.payroll-month-calendar-nav:hover{background:#f3f4f6}.payroll-month-calendar-nav:disabled{opacity:.38;cursor:not-allowed}.payroll-month-calendar-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.payroll-month-calendar-cell{color:#374151;cursor:pointer;background:#f9fafb;border:1px solid #0000;border-radius:8px;padding:10px 6px;font-size:13px;font-weight:600;transition:background .12s,border-color .12s,color .12s}.payroll-month-calendar-cell:hover{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.payroll-month-calendar-cell--today:not(.payroll-month-calendar-cell--selected){background:#fff;border-color:#93c5fd}.payroll-month-calendar-cell--selected{color:#fff;background:#1d4ed8;border-color:#1d4ed8}.payroll-month-calendar-cell--selected:hover{color:#fff;background:#1e40af;border-color:#1e40af}.payroll-month-calendar-cell:disabled{opacity:.38;cursor:not-allowed;color:#9ca3af;background:#f3f4f6;border-color:#0000}.payroll-month-calendar-cell:disabled:hover{color:#9ca3af;background:#f3f4f6;border-color:#0000}.payroll-payslip{background:linear-gradient(145deg,#f8fafc 0%,#fff 48%);border-radius:14px;overflow:hidden;box-shadow:0 14px 36px #94a3b847,0 0 0 1px #d1d5dbd9}.payroll-payslip-inner{padding:18px 18px 14px}.payroll-payslip-top{margin-bottom:14px}.payroll-payslip-period{color:#4b5563;text-align:left;margin:0 0 4px;font-size:13px}.payroll-payslip-period strong{color:#111827;font-weight:600}.payroll-payslip-payment{color:#374151;text-align:left;margin:6px 0 0;font-size:13px;line-height:1.5}.payroll-payslip-payment-label{color:#4b5563;font-weight:600}.payroll-payslip-payment-date{color:#111827;font-variant-numeric:tabular-nums;font-weight:700}.payroll-payslip-payment-weekday{color:#6b7280;font-size:12px}.payroll-payslip-payment-note{color:#9ca3af;text-align:left;margin:6px 0 0;font-size:11px;line-height:1.45}.payroll-payslip-recipient-line{color:#4b5563;word-break:keep-all;background:#f9fafb;border:1px dashed #e5e7eb;border-radius:10px;margin:0 0 14px;padding:10px 12px;font-size:14px;line-height:1.5}.payroll-payslip-recipient-part strong{color:#111827;font-weight:600}.payroll-payslip-recipient-sep{color:#d1d5db;margin:0 .35em}.payroll-payslip-account-section{background:#fafafa;border:1px solid #e5e7eb;border-radius:10px;margin:0 0 14px;padding:12px}.payroll-payslip-account-section--between{margin:20px 0 16px}.payroll-payslip-account-hint{color:#6b7280;text-align:left;margin:0;font-size:12px;line-height:1.5}.payroll-payslip-account-view-row{flex-direction:row;align-items:center;gap:12px;display:flex}.payroll-payslip-account-info{text-align:left;flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.payroll-payslip-account-line{color:#4b5563;text-align:left;flex-wrap:wrap;justify-content:flex-start;align-items:flex-start;gap:8px 12px;margin:0;font-size:13px;line-height:1.45;display:flex}.payroll-payslip-account-k{color:#6b7280;flex:0 0 4rem;font-size:12px;font-weight:600}.payroll-payslip-account-v{color:#111827;word-break:break-all;flex:1;min-width:0;font-weight:600}.payroll-payslip-account-status{color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;margin:6px 0 0;padding:6px 10px;font-size:12px;font-weight:700}.payroll-payslip-account-error{color:#b91c1c;margin:8px 0 0;font-size:12px}.payroll-payslip-account-request-btn{color:#374151;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:8px;flex-shrink:0;margin:0;padding:8px 14px;font-size:13px;font-weight:600}.payroll-payslip-account-request-btn:hover{background:#f9fafb;border-color:#9ca3af}.payroll-payslip-account-edit{text-align:left;flex-direction:column;gap:10px;display:flex}.payroll-payslip-account-field{flex-direction:column;gap:4px;display:flex}.payroll-payslip-account-label{color:#6b7280;font-size:12px;font-weight:600}.payroll-payslip-account-select,.payroll-payslip-account-input{box-sizing:border-box;border:1px solid #e5e7eb;border-radius:8px;width:100%;max-width:100%;height:36px;padding:0 10px;font-size:13px}.payroll-payslip-account-edit-actions{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.payroll-payslip-account-save-btn{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:8px;padding:8px 16px;font-size:13px;font-weight:600}.payroll-payslip-account-save-btn:hover{background:#1d4ed8}.payroll-payslip-account-cancel-btn{color:#4b5563;cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:8px 16px;font-size:13px;font-weight:600}.payroll-payslip-table-panel{margin-top:4px}.payroll-payslip-table-heading{letter-spacing:-.03em;color:#0f172a;align-items:center;gap:10px;margin:0 0 12px;padding:0 2px;font-size:15px;font-weight:700;display:flex}.payroll-payslip-table-heading:before{content:"";background:linear-gradient(#3b82f6 0%,#1d4ed8 100%);border-radius:4px;flex-shrink:0;width:4px;height:1.1em}.payroll-payslip-table-wrap{background:#fff;border:1px solid #e2e8f0;border-radius:12px;overflow-x:auto;box-shadow:inset 0 1px #ffffffe6,0 1px 2px #0f172a0a}.payroll-payslip-table{border-collapse:separate;border-spacing:0;table-layout:fixed;width:100%;font-size:13px}.payroll-payslip-col-item{width:30%}.payroll-payslip-col-hours{width:26%}.payroll-payslip-col-amount{width:44%}.payroll-payslip-table-head-row th{text-align:left;vertical-align:middle;color:#64748b;letter-spacing:.06em;text-transform:uppercase;background:linear-gradient(#f8fafc 0%,#f1f5f9 100%);border-bottom:1px solid #e2e8f0;padding:12px 14px;font-size:11px;font-weight:700}.payroll-payslip-table-head-row th:first-child{border-radius:12px 0 0}.payroll-payslip-table-head-row th:last-child{border-radius:0 12px 0 0}.payroll-payslip-hours-head{text-align:center!important;text-transform:none!important;letter-spacing:.04em!important}.payroll-payslip-amount-head{color:#475569!important}.payroll-payslip-table th,.payroll-payslip-table td{text-align:left;vertical-align:middle;border-bottom:1px solid #f1f5f9;padding:11px 14px}.payroll-payslip-row--data:nth-child(2n) td{background:#fcfcfd}.payroll-payslip-row--data:hover td{background:#f8fafc}.payroll-payslip-row--section td{color:#64748b;letter-spacing:.02em;background:#f1f5f9;border-bottom:1px solid #e2e8f0;font-size:12px;font-weight:700}.payroll-payslip-section-title{padding-top:14px!important}.payroll-payslip-item{color:#1e293b;font-size:13px;font-weight:600}.payroll-payslip-table .num{text-align:right;font-variant-numeric:tabular-nums}.payroll-payslip-table th.payroll-payslip-amount-head,.payroll-payslip-table td.num{padding-right:22px!important}.payroll-payslip-hours{text-align:center;font-variant-numeric:tabular-nums;color:#334155;font-size:12px;font-weight:600}.payroll-payslip-hours-value{color:#1e40af;letter-spacing:-.02em;background:linear-gradient(#eff6ff 0%,#e0f2fe 100%);border-radius:8px;min-width:4.5rem;padding:5px 10px;font-size:12px;font-weight:700;display:inline-block;box-shadow:inset 0 1px #ffffffbf,0 0 0 1px #3b82f633}.payroll-payslip-hours--empty,.payroll-payslip-hours--dash{color:#cbd5e1;font-size:15px;font-weight:500}.payroll-payslip-amount{color:#0f172a;white-space:nowrap;font-size:13px;font-weight:600}.payroll-payslip-amount--strong{font-size:14px;font-weight:700}.payroll-payslip-table tbody tr:last-child td{border-bottom:none}.payroll-payslip-subtotal td{border-top:2px solid #e2e8f0;background:#f8fafc!important;padding-top:13px!important;padding-bottom:13px!important}.payroll-payslip-subtotal .payroll-payslip-item{color:#0f172a;font-weight:700}.payroll-payslip-table .negative{color:#b91c1c}.payroll-payslip-row--deduct td{background:#fffbeb}.payroll-payslip-row--deduct .payroll-payslip-item{color:#92400e}.payroll-payslip-net td{border-top:1px solid #bfdbfe;font-weight:700;background:linear-gradient(#eff6ff 0%,#dbeafe 100%)!important;padding-top:14px!important;padding-bottom:14px!important}.payroll-payslip-net .payroll-payslip-item{color:#1e3a8a;font-size:14px}.payroll-payslip-amount--net{color:#1e40af!important;font-size:16px!important;font-weight:800!important}.payroll-payslip-foot{color:#9ca3af;margin:10px 0 0;font-size:11px;line-height:1.45}.payroll-yearly-section{margin-top:32px;padding-top:8px}.payroll-payslip-account-section--between+.payroll-yearly-section{margin-top:0}.payroll-yearly-head{margin-bottom:14px}.payroll-yearly-title{letter-spacing:-.03em;margin:0;font-size:17px;font-weight:700}.payroll-yearly-desc{color:#6b7280;margin:6px 0 0;font-size:13px}.payroll-yearly-empty{text-align:center;color:#9ca3af;background:#f9fafb;border:1px dashed #e5e7eb;border-radius:10px;margin:0;padding:20px 16px;font-size:13px}.payroll-year-toolbar{background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;justify-content:center;align-items:center;gap:12px;margin-bottom:14px;padding:10px 12px;display:flex}.payroll-year-nav{color:#374151;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:10px;flex-shrink:0;width:40px;height:40px;font-size:20px;line-height:1;transition:background .15s,border-color .15s}.payroll-year-nav:hover{background:#f3f4f6;border-color:#9ca3af}.payroll-year-nav:disabled{opacity:.38;cursor:not-allowed}.payroll-year-field{background:#fff;border:1px solid #d1d5db;border-radius:10px;align-items:center;gap:8px;padding:8px 14px;display:flex}.payroll-year-field-label{color:#6b7280;font-size:13px}.payroll-year-input{font-variant-numeric:tabular-nums;text-align:center;color:#111827;border:1px solid #e5e7eb;border-radius:8px;width:5.5rem;padding:6px 8px;font-size:17px;font-weight:700}.payroll-year-input:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 2px #3b82f633}.payroll-year-suffix{color:#374151;font-size:15px;font-weight:600}.payroll-yearly-table-wrap{background:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow-x:auto}.payroll-yearly-table{border-collapse:collapse;width:100%;font-size:13px}.payroll-yearly-table th,.payroll-yearly-table td{text-align:left;border-bottom:1px solid #f3f4f6;padding:10px 14px}.payroll-yearly-table thead th{color:#6b7280;text-transform:uppercase;letter-spacing:.04em;background:#f9fafb;font-size:11px;font-weight:600}.payroll-yearly-table .num{text-align:right;font-variant-numeric:tabular-nums}.payroll-yearly-table tbody tr:not(.payroll-yearly-total):hover td{background:#fafafa}.payroll-yearly-total td{color:#1e3a8a;background:#f8fafc;border-top:2px solid #e5e7eb;border-bottom:none;font-size:14px;font-weight:700}@media (width<=768px){.payroll-page{padding:16px 4% 32px}.payroll-payslip-recipient-line{font-size:13px}}@media (width<=480px){.payroll-month-toolbar{gap:8px;padding:8px}.payroll-month-nav{width:36px;height:36px}.payroll-month-trigger{gap:6px;padding:8px 10px}.payroll-month-trigger-label{font-size:15px}.payroll-month-calendar-popover{width:min(100vw - 24px,300px)}.payroll-payslip-inner{padding:14px 12px 12px}.payroll-year-nav{width:36px;height:36px}.payroll-year-field{flex-wrap:wrap;justify-content:center}}.payroll-payslip--embedded{box-sizing:border-box;border-radius:14px;width:100%;margin:0;box-shadow:0 14px 36px #94a3b847,0 0 0 1px #d1d5dbd9}.payroll-payslip--embedded .payroll-payslip-inner{padding:18px 18px 14px}.payroll-payslip-table-panel--embedded-only{margin-top:0}.payroll-payslip--embedded .payroll-payslip-table-wrap{box-sizing:border-box;padding:0}.payroll-payslip--embedded .payroll-payslip-table-head-row th,.payroll-payslip--embedded .payroll-payslip-table th,.payroll-payslip--embedded .payroll-payslip-table td{padding:8px}.payroll-payslip--embedded .payroll-payslip-table th.payroll-payslip-amount-head,.payroll-payslip--embedded .payroll-payslip-table td.num{padding-left:8px;padding-right:26px!important}.payroll-payslip--embedded .payroll-payslip-hours-value{min-width:3.25rem;padding:4px 8px;font-size:11px}.admin-payroll-history{padding:0 0 24px}.admin-payroll-excel{background:linear-gradient(145deg,#f8fafc 0%,#eff6ff 100%);border:1px solid #dbeafe;border-radius:10px;margin-bottom:12px;padding:12px 14px}.admin-payroll-excel-title{color:#1e3a8a;margin:0 0 10px;font-size:13px;font-weight:700}.admin-payroll-excel-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.admin-payroll-excel-btn{color:#fff;cursor:pointer;background:linear-gradient(#3b82f6,#2563eb);border:1px solid #3b82f6;border-radius:8px;height:34px;padding:0 14px;font-size:12px;font-weight:700}.admin-payroll-excel-btn:hover{filter:brightness(1.05)}.admin-payroll-excel-btn--secondary{color:#1e293b;background:linear-gradient(#fff,#f1f5f9);border-color:#cbd5e1;font-weight:600}.admin-payroll-excel-btn--secondary:hover{filter:none;border-color:#94a3b8}.admin-payroll-excel-input-hidden{clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.admin-payroll-history-toolbar{background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px 10px;margin-bottom:14px;padding:10px 12px;display:flex}.admin-payroll-history-nav{color:#374151;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:8px;width:36px;height:36px;font-size:18px;line-height:1}.admin-payroll-history-nav:disabled{opacity:.35;cursor:not-allowed}.admin-payroll-history-period{color:#111827;text-align:center;min-width:120px;font-size:16px;font-weight:700}.admin-payroll-history-today{color:#1d4ed8;cursor:pointer;background:#eff6ff;border:1px solid #93c5fd;border-radius:8px;padding:6px 12px;font-size:12px;font-weight:600}.admin-payroll-history-save{color:#fff;cursor:pointer;background:linear-gradient(#3b82f6,#2563eb);border:1px solid #3b82f6;border-radius:8px;padding:6px 12px;font-size:12px;font-weight:700}.admin-payroll-history-save:hover{filter:brightness(1.05)}.admin-payroll-table-wrap{-webkit-overflow-scrolling:touch;background:#fff;border:1px solid #e5e7eb;border-radius:10px;width:100%;overflow-x:auto}.admin-payroll-table{border-collapse:collapse;color:#111827;width:100%;min-width:400px;font-size:13px}.admin-payroll-table thead th{z-index:1;text-align:center;color:#374151;white-space:nowrap;background:#f1f5f9;border-bottom:1px solid #e2e8f0;padding:6px 5px;font-size:11px;font-weight:700;position:sticky;top:0}.admin-payroll-table tbody td{text-align:center;vertical-align:middle;border-bottom:1px solid #f1f5f9;padding:6px 5px}.admin-payroll-td-name{font-weight:600;text-align:left!important}.admin-payroll-td-team{color:#6b7280;text-overflow:ellipsis;white-space:nowrap;max-width:100px;font-size:12px;overflow:hidden}.admin-payroll-td-amount{font-variant-numeric:tabular-nums;font-weight:700}.admin-payroll-td-action{padding-left:4px!important;padding-right:4px!important}.admin-payroll-detail-toggle{box-sizing:border-box;color:#1d4ed8;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #cbd5e1;border-radius:8px;justify-content:center;align-items:center;width:5.5rem;min-width:5.5rem;min-height:30px;padding:6px 8px;font-size:12px;font-weight:600;transition:background .15s,border-color .15s;display:inline-flex}.admin-payroll-detail-toggle:hover{background:#eff6ff;border-color:#93c5fd}.admin-payroll-table-row-detail td{vertical-align:top;background:0 0;border-bottom:1px solid #e5e7eb;padding:0!important}.admin-payroll-detail-panel{max-height:0;transition:max-height .38s;overflow:hidden}.admin-payroll-detail-panel--open{-webkit-overflow-scrolling:touch;max-height:min(82vh,960px);overflow-y:auto}.admin-payroll-detail-inner{box-sizing:border-box;padding:0}.admin-payroll-detail-panel--open .admin-payroll-detail-inner{padding:8px 0 12px}@media (width<=480px){.admin-payroll-table thead th{padding:8px 4px;font-size:11px}.admin-payroll-table tbody td{padding:8px 4px;font-size:12px}.admin-payroll-detail-toggle{width:5.25rem;min-width:5.25rem;min-height:28px;padding:5px 6px;font-size:11px}}.login-page{box-sizing:border-box;background:radial-gradient(circle at top,#fef9c3 0,#fdfaf3 42%,#f3f4f6 100%);justify-content:center;align-items:center;min-height:100vh;padding:32px 16px;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,system-ui,sans-serif;display:flex}.login-card{box-sizing:border-box;background:#fff;border-radius:18px;width:100%;max-width:380px;padding:22px 20px 18px;box-shadow:0 18px 45px #0f172a40,0 0 0 1px #d1d5dbe6}.login-header{text-align:left;margin-bottom:18px}.login-lang{margin-top:12px}.login-subtitle{letter-spacing:.18em;text-transform:uppercase;color:#9ca3af;margin:0 0 4px;font-size:11px}.login-title{letter-spacing:-.06em;color:#111827;margin:0;font-size:22px;font-weight:700}.login-form{flex-direction:column;gap:10px;display:flex}.login-field{flex-direction:column;gap:4px;display:flex}.login-field label{color:#4b5563;font-size:12px;font-weight:500}.login-field input{color:#111827;background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;outline:none;padding:8px 10px;font-size:13px;transition:border-color .16s ease-out,box-shadow .16s ease-out,background .16s ease-out}.login-field input::placeholder{color:#9ca3af}.login-field input:focus{background:#fff;border-color:#3b82f6e6;box-shadow:0 0 0 1px #93c5fde6,0 0 0 4px #bfdbfeb3}.login-remember{color:#4b5563;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;margin-top:2px;font-size:12px;font-weight:500;display:flex}.login-remember input{accent-color:#2563eb;cursor:pointer;width:16px;height:16px}.login-button{letter-spacing:-.03em;cursor:pointer;color:#f9fafb;background:linear-gradient(135deg,#2563eb,#1d4ed8);border:none;border-radius:999px;width:100%;margin-top:6px;padding:10px 0;font-size:14px;font-weight:600;transition:transform .1s ease-out,box-shadow .1s ease-out,filter .1s ease-out;box-shadow:0 12px 25px #2563eb73,0 0 0 1px #bfdbfee6}.login-button:hover{filter:brightness(1.03);transform:translateY(-1px);box-shadow:0 14px 30px #2563eb80,0 0 0 1px #bfdbfe}.login-button:active{transform:translateY(0);box-shadow:0 8px 18px #2563eb73,0 0 0 1px #bfdbfee6}.login-footer{border-top:1px dashed #e5e7eb;margin-top:16px;padding-top:14px}.login-register-button{letter-spacing:-.06em;color:#1d4ed8;text-align:center;cursor:pointer;background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;width:100%;padding:12px 14px;font-size:16px;font-weight:700;transition:background .15s ease-out,border-color .15s ease-out,transform .1s ease-out;display:block}.login-register-button:hover{background:#eff6ff;border-color:#bfdbfe}.login-register-button:active{transform:scale(.99)}.login-error{color:#b91c1c;margin:2px 0 0;font-size:11px}@media (width<=480px){.login-card{border-radius:16px;padding:20px 16px 16px}.login-title{font-size:20px}}.my-page{flex-direction:column;gap:10px;width:95%;margin:0 auto;display:flex}.my-page-header{text-align:left}.my-page-title{color:#111827;margin:0;font-size:18px;font-weight:700}.my-page-subtitle{color:#6b7280;margin:4px 0 0;font-size:12px}.my-page-card{text-align:left;background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:12px;box-shadow:0 2px 8px #94a3b81f}.my-page-card-hint{color:#6b7280;margin:0 0 8px;font-size:11px}.my-page-card-label{color:#6b7280;margin:0;font-size:11px}.my-page-card-value{color:#111827;margin:4px 0 0;font-size:14px;font-weight:600}.my-page-pending-pill{color:#b91c1c;background:#fee2e2;border:1px solid #fecaca;border-radius:999px;margin-left:6px;padding:2px 7px;font-size:10px;font-weight:700}.my-page-form{flex-direction:column;gap:10px;margin-top:10px;display:flex}.my-page-form-row{grid-template-columns:105px 1fr;align-items:center;gap:10px;display:grid}.my-page-form-label{color:#6b7280;font-size:11px;font-weight:600}.my-page-form-input{box-sizing:border-box;background:#fff;border:1px solid #e5e7eb;border-radius:8px;height:34px;padding:0 10px;font-size:13px}.my-page-form-input:focus{border-color:#3b82f6e6;outline:none;box-shadow:0 0 0 1px #93c5fde6,0 0 0 4px #bfdbfeb3}select.my-page-bank-select{width:100%;max-width:100%}.my-page-form-error{color:#b91c1c;margin:0;font-size:12px;font-weight:700}.my-page-form-submit{cursor:pointer;color:#4338ca;background:#eef2ff;border:1px solid #c7d2fe;border-radius:10px;padding:10px 14px;font-size:13px;font-weight:800}.my-page-form-submit:disabled{opacity:.6;cursor:not-allowed}.my-page-edit-button{cursor:pointer;color:#374151;background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:8px 12px;font-size:13px;font-weight:800}.my-page-edit-row,.my-page-name-value-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.my-page-password-form{margin-top:8px}.my-page-edit-actions{justify-content:flex-end;gap:10px;margin-top:6px;display:flex}.my-page-form-cancel{cursor:pointer;color:#374151;background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:10px 14px;font-size:13px;font-weight:800}.my-page-photo-preview-grid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px;margin-top:10px;display:grid}.my-page-photo-preview-item{background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;padding:6px}.my-page-photo-preview-label{color:#475569;margin:0 0 6px;font-size:10px;font-weight:700}.my-page-photo-preview-image{aspect-ratio:1;object-fit:cover;background:#fff;border-radius:6px;width:100%;display:block}.my-page-photo-preview-empty{aspect-ratio:1;color:#64748b;background:#fff;border:1px dashed #cbd5e1;border-radius:6px;place-items:center;width:100%;font-size:11px;display:grid}.signup-page{justify-content:center;width:100%;padding:32px 0 48px;display:flex}.signup-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;width:min(520px,95vw);padding:18px;box-shadow:0 10px 25px #94a3b826}.signup-header{text-align:left}.signup-subtitle{color:#6b7280;letter-spacing:.16em;margin:0;font-size:12px;font-weight:700}.signup-title{color:#111827;margin:6px 0 0;font-size:18px;font-weight:800}.signup-lang-row{margin-top:10px}.signup-description{color:#6b7280;margin:10px 0 0;font-size:13px}.signup-form{flex-direction:column;gap:12px;margin-top:14px;display:flex}.signup-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.signup-field{flex-direction:column;gap:6px;min-width:0;display:flex}.signup-field-full{grid-column:1/-1}.signup-field label{color:#6b7280;font-size:12px}.signup-field input[type=text],.signup-field input[type=tel],.signup-field input[type=password],.signup-field input[type=date],.signup-field input[type=password],.signup-field select,.signup-field input[type=date],.signup-bank-select{box-sizing:border-box;color:#111827;-webkit-text-fill-color:#111827;background:#fff;border:1px solid #e5e7eb;border-radius:8px;width:100%;max-width:100%;height:34px;padding:0 10px;font-size:13px}.signup-field input::placeholder{color:#9ca3af;-webkit-text-fill-color:#9ca3af}.signup-field input:disabled{color:#9ca3af;cursor:not-allowed;background:#f3f4f6}.signup-divider{background:#e5e7eb;grid-column:1/-1;height:1px;margin:2px 0}.signup-file-selected{color:#64748b;margin:0;font-size:11px}.signup-actions{justify-content:flex-end;gap:10px;display:flex}.signup-cancel{cursor:pointer;color:#374151;background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:9px 14px;font-size:13px}.signup-submit{cursor:pointer;color:#4338ca;background:#eef2ff;border:1px solid #c7d2fe;border-radius:10px;padding:9px 14px;font-size:13px;font-weight:700}.signup-submit:disabled{opacity:.6;cursor:not-allowed}.signup-error{color:#b91c1c;margin:0;font-size:12px;font-weight:600}.signup-hint{color:#9ca3af;margin:0;font-size:11px;line-height:1.35}.signup-photo-grid{grid-template-columns:repeat(4,1fr);gap:8px;margin-top:8px;display:grid}.signup-photo-item{flex-direction:column;gap:6px;min-width:0;display:flex}.signup-photo-label{color:#64748b;text-align:center;margin:0;font-size:11px;font-weight:600}.signup-photo-preview{aspect-ratio:3/4;background:#f8fafc;border:1px solid #e5e7eb;border-radius:10px;justify-content:center;align-items:center;width:100%;display:flex;overflow:hidden}.signup-photo-preview img{object-fit:cover;width:100%;height:100%;display:block}.signup-photo-preview span{color:#94a3b8;text-align:center;padding:0 6px;font-size:10px}.signup-photo-input-hidden{display:none}.signup-photo-pick-button{color:#374151;cursor:pointer;-webkit-user-select:none;user-select:none;background:#fff;border:1px solid #e5e7eb;border-radius:10px;justify-content:center;align-items:center;height:28px;font-size:12px;font-weight:700;display:inline-flex}.signup-photo-item .signup-photo-pick-button{width:100%}.signup-photo-item input[type=file]{height:32px;font-size:11px}@media (width<=480px){.signup-grid{grid-template-columns:1fr}}.notice-page{box-sizing:border-box;padding:20px 4% 40px}.notice-title{letter-spacing:-.03em;color:#111827;text-align:center;margin:0;font-size:16px;font-weight:600}.notice-header{justify-content:center;align-items:center;gap:8px;margin-bottom:14px;display:flex}.notice-header-main{flex-direction:column;gap:4px;display:flex}.notice-subtitle{color:#6b7280;margin:0;font-size:12px}.notice-header-meta{color:#6b7280;white-space:nowrap;font-size:11px}.notice-count strong{color:#111827;font-weight:600}.notice-card{background:#fff;border-radius:10px;padding:8px 10px;box-shadow:0 10px 25px #94a3b859,0 0 0 1px #d1d5dbe6}.notice-card-header{color:#6b7280;justify-content:flex-end;margin-bottom:4px;font-size:11px;display:flex}.notice-list{margin:0;padding:0;list-style:none}.notice-item{border-bottom:1px solid #e5e7eb;flex-direction:column;gap:4px;padding:8px 4px;display:flex}.notice-item:last-child{border-bottom:none}.notice-item-main{cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:6px;width:100%;padding:0;font-size:12px;display:flex}.notice-item-title{color:#111827;letter-spacing:-.02em;white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.notice-item-date{color:#9ca3af;white-space:nowrap;margin-left:auto;font-size:11px}.notice-badge-new{color:#b91c1c;margin-left:4px;font-size:10px;animation:1.4s ease-in-out infinite notice-new-pulse}.notice-item-meta{color:#9ca3af;font-size:11px}.notice-chip{text-align:center;border:1px solid #0000;border-radius:999px;min-width:52px;padding:2px 6px;font-size:10px}.notice-chip-공지{color:#4338ca;background:#eef2ff;border-color:#c7d2fe}.notice-chip-업데이트{color:#15803d;background:#ecfdf5;border-color:#bbf7d0}.notice-chip-점검{color:#92400e;background:#fef3c7;border-color:#fed7aa}.notice-item-content{max-height:0;transition:max-height .22s ease-out;overflow:hidden}.notice-item-content-open{max-height:160px}.notice-item-content-text{color:#4b5563;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;margin:6px 0 0;padding:8px 10px;font-size:12px;line-height:1.4}.notice-badge-new{margin-left:4px}@keyframes notice-new-pulse{0%{opacity:.75;transform:translateY(0)}50%{opacity:1;transform:translateY(-1px)}to{opacity:.75;transform:translateY(0)}}.notice-empty-card{text-align:center;background:#f9fafbb3;border:1px dashed #e5e7eb;border-radius:10px;margin-top:20px;padding:14px 12px}.notice-empty-text{color:#6b7280;margin:0;font-size:13px}@media (width<=480px){.notice-page{padding:18px 4% 32px}.notice-card{padding:8px}.notice-item{padding:6px 2px}.notice-item-title{font-size:12px}}.notice-page{padding:16px 0 0}.notice-title{margin:0 0 8px;font-size:16px;font-weight:600}.notice-empty{color:#6b7280;margin:0;font-size:13px}.point-page{padding:20px 4% calc(48px + env(safe-area-inset-bottom,0px));box-sizing:border-box;scroll-padding-bottom:calc(96px + env(safe-area-inset-bottom,0px))}.point-header{margin-bottom:12px}.point-title{letter-spacing:-.03em;color:#111827;margin:0;font-size:16px;font-weight:600}.point-subtitle{color:#6b7280;margin:4px 0 0;font-size:12px}.point-banner-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:14px 0 18px;display:grid}@media (width>=720px){.point-banner-row{grid-template-columns:repeat(3,minmax(0,1fr))}}.point-banner{text-align:left;cursor:pointer;background:#f9fafb;border:none;border-radius:12px;padding:10px 11px;position:relative;box-shadow:0 1px 2px #0f172a14,0 0 0 1px #d1d5dbb3}.point-banner-title{color:#111827;font-size:13px;font-weight:700;display:block}.point-banner-sub{color:#6b7280;margin-top:3px;font-size:11px;display:block}.point-banner--rps{background:linear-gradient(135deg,#eef2ff,#eff6ff)}.point-banner--baccarat{background:linear-gradient(135deg,#fefce8,#fffbeb)}.point-banner--lotto{background:linear-gradient(135deg,#fef2f2,#fee2e2)}.point-banner--ladder{background:linear-gradient(135deg,#ecfdf5,#dcfce7)}.point-banner--daisai{background:linear-gradient(135deg,#fee2e2,#fee2e2)}.point-game-hidden-all{color:#64748b;text-align:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;margin:12px 0 0;padding:14px;font-size:12px}.point-shop-history{margin-bottom:18px}.point-shop-details{background:#fff;border-radius:14px;padding:0;overflow:hidden;box-shadow:0 1px 2px #0f172a0f,0 0 0 1px #e2e8f0e6}.point-shop-details-summary{cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;gap:10px;padding:14px 12px;list-style:none;display:flex}.point-shop-details-summary::-webkit-details-marker{display:none}.point-shop-summary-text{flex-wrap:wrap;align-items:baseline;gap:8px 12px;min-width:0;display:flex}.point-shop-details .point-shop-history-title{color:#111827;letter-spacing:-.02em;margin:0;font-size:14px;font-weight:700}.point-shop-summary-count{color:#64748b;white-space:nowrap;font-size:12px;font-weight:600}.point-shop-summary-chevron{border-bottom:2px solid #94a3b8;border-right:2px solid #94a3b8;flex-shrink:0;width:10px;height:10px;transition:transform .2s;transform:rotate(45deg)translateY(-2px)}.point-shop-details[open] .point-shop-summary-chevron{transform:rotate(225deg)translateY(2px)}.point-shop-details-panel{border-top:1px solid #f1f5f9;padding:0 12px 14px;animation:.22s point-shop-panel-open}@keyframes point-shop-panel-open{0%{opacity:.85}to{opacity:1}}.point-shop-history-title{color:#111827;letter-spacing:-.02em;margin:0 0 6px;font-size:14px;font-weight:700}.point-shop-history--empty{background:#fff;border-radius:14px;padding:14px 12px;box-shadow:0 1px 2px #0f172a0f,0 0 0 1px #e2e8f0e6}.point-shop-history-hint{color:#64748b;margin:0 0 12px;font-size:11px;line-height:1.45}.point-shop-history-empty{color:#94a3b8;text-align:center;margin:0;padding:12px 4px;font-size:12px}.point-shop-history-table-wrap{-webkit-overflow-scrolling:touch;margin:0 -4px;overflow-x:auto}.point-shop-history-table{border-collapse:collapse;width:100%;min-width:280px;font-size:12px}.point-shop-history-table th{text-align:left;color:#64748b;white-space:nowrap;border-bottom:1px solid #e2e8f0;padding:8px 10px;font-weight:600}.point-shop-history-table td{vertical-align:top;color:#334155;border-bottom:1px solid #f1f5f9;padding:10px}.point-shop-history-table tbody tr:last-child td{border-bottom:none}.point-shop-cell-product{color:#111827;max-width:140px;font-weight:600}.point-shop-cell-points{white-space:nowrap;font-variant-numeric:tabular-nums}.point-shop-cell-date{white-space:nowrap;color:#64748b;font-size:11px}.point-shop-cell-status{min-width:96px}.point-shop-status{border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700;display:inline-block}.point-shop-status--pending{color:#b45309;background:#fffbeb;border:1px solid #fde68a}.point-shop-status--fulfilled{color:#047857;background:#ecfdf5;border:1px solid #a7f3d0}.point-shop-status--cancelled{color:#64748b;background:#f8fafc;border:1px solid #e2e8f0}.rps-game{background:#fff;border-radius:10px;margin-top:12px;padding:14px 12px 16px;box-shadow:0 8px 20px #94a3b859,0 0 0 1px #d1d5dbe6}.rps-header{flex-direction:column;gap:4px;margin-bottom:10px;display:flex}.rps-title{letter-spacing:-.03em;color:#111827;margin:0;font-size:15px;font-weight:600}.rps-subtitle{color:#6b7280;margin:0;font-size:12px}.rps-score{color:#4b5563;margin-top:4px;font-size:11px}.rps-bet-row{align-items:center;gap:6px;margin-top:4px;display:inline-flex}.rps-bet-input{color:#1f2937;box-sizing:border-box;background:#fff;border:1px solid #dbeafe;border-radius:10px;width:92px;height:30px;padding:0 10px;font-size:13px;font-weight:700}.rps-bet-unit{color:#2563eb;font-size:12px;font-weight:700}.rps-choices{gap:8px;margin:8px 0 10px;display:flex}.rps-choice-button{color:#374151;cursor:pointer;background:linear-gradient(#f8fbff,#eef4ff);border:1px solid #dbeafe;border-radius:12px;flex-direction:column;flex:1 1 0;justify-content:center;align-items:center;gap:2px;padding:10px 0 8px;font-size:12px;transition:background .15s,border-color .15s,box-shadow .15s,transform .1s;display:inline-flex}.rps-choice-button:hover{background:linear-gradient(#f0f6ff,#e6efff);border-color:#93c5fd;box-shadow:0 3px 10px #93c5fd52}.rps-choice-button-active{color:#f8fafc;background:linear-gradient(#2563eb,#1d4ed8);border-color:#1e40af;box-shadow:0 4px 12px #2563eb59}.rps-choice-emoji{font-size:20px;line-height:1}.rps-choice-text{font-weight:700;line-height:1.1}.rps-result-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:8px 10px;font-size:12px}.rps-result-card-win{animation:.85s ease-out 2 rps-win-sparkle}.rps-result-card-lose{animation:.7s ease-out 2 rps-lose-gloom}.rps-result-card-draw{background:linear-gradient(165deg,#fffbeb 0%,#fef3c7 45%,#fff 100%);border-color:#fbbf24;animation:1s ease-out rps-draw-glow;box-shadow:0 0 0 1px #fbbf2459,0 10px 24px #f59e0b1f}.rps-center-slot{flex-direction:column;justify-content:center;align-items:center;gap:4px;display:flex}.rps-vs-board{grid-template-columns:108px 128px 108px;justify-content:center;align-items:center;gap:8px;margin-bottom:8px;display:grid}.rps-vs-column{flex-direction:column;justify-content:center;align-items:center;gap:8px;width:128px;display:flex}.rps-vs-text{color:#1d4ed8;letter-spacing:-.03em;font-size:20px;font-weight:900}.rps-center-label{color:#64748b;margin:0;font-size:11px}.rps-center-icon-wrap{background:linear-gradient(#fff,#eef4ff);border:1px solid #dbeafe;border-radius:18px;justify-content:center;align-items:center;width:82px;height:82px;display:flex;box-shadow:0 6px 14px #94a3b838}.rps-center-icon-wrap-rolling{box-shadow:0 6px 14px #3b82f64d,0 0 0 2px #93c5fd4d}.rps-center-icon{font-size:40px;line-height:1}.rps-center-text{color:#1f2937;min-height:18px;margin:0;font-size:13px;font-weight:700}.rps-result-final{flex-direction:column;gap:4px;margin-top:4px;font-size:12px;display:flex}.rps-vs-status{text-align:center;justify-content:center;align-items:center;min-height:34px;display:inline-flex}.rps-decide-button{color:#f9fafb;cursor:pointer;background:linear-gradient(#2563eb,#1d4ed8);border:1px solid #e5e7eb;border-radius:12px;align-self:center;min-width:68px;height:34px;padding:0 14px;font-size:14px;font-weight:800;box-shadow:0 6px 12px #2563eb47}.rps-decide-button:disabled{color:#9ca3af;box-shadow:none;cursor:default;background:#e5e7eb}.rps-countdown{color:#1d4ed8;letter-spacing:-.03em;align-self:center;font-size:28px;font-weight:900;line-height:1}.rps-result-win{color:#16a34a;letter-spacing:-.02em;text-shadow:0 0 10px #10b9813d,0 0 20px #38bdf82e;font-size:20px;font-weight:900}.rps-result-lose{color:#b91c1c;letter-spacing:-.02em;font-size:18px;font-weight:900}.rps-result-draw-wrap{text-align:center;flex-direction:column;gap:5px;max-width:124px;padding:2px 4px}.rps-result-draw-title{letter-spacing:-.04em;color:#b45309;text-shadow:0 1px #ffffffd9,0 0 18px #fbbf2473;font-size:16px;font-weight:900;line-height:1.15;display:block}.rps-result-draw-note{color:#92400e;opacity:.95;font-size:10px;font-weight:600;line-height:1.4;display:block}.rps-result-hint{color:#9ca3af}@keyframes rps-win-sparkle{0%{transform:translateY(0)scale(1);box-shadow:0 0 #10b98100,0 0 #38bdf800}35%{transform:translateY(-2px)scale(1.01);box-shadow:0 0 0 4px #10b98159,0 0 0 12px #38bdf83d}70%{transform:translateY(0)scale(1);box-shadow:0 0 0 2px #10b98138,0 0 0 7px #38bdf829}to{transform:translateY(0)scale(1);box-shadow:0 0 #10b98100,0 0 #38bdf800}}@keyframes rps-draw-glow{0%{filter:saturate();box-shadow:0 0 #fbbf2400,0 10px 24px #f59e0b14}45%{filter:saturate(1.08);box-shadow:0 0 0 3px #fbbf2466,0 12px 28px #f59e0b33}to{filter:saturate();box-shadow:0 0 0 1px #fbbf2459,0 10px 24px #f59e0b1f}}@keyframes rps-lose-gloom{0%{filter:saturate()brightness();transform:translateY(0)}40%{filter:saturate(.55)brightness(.92);transform:translateY(1px)}to{filter:saturate()brightness();transform:translateY(0)}}@media (width<=480px){.rps-game{padding:12px 10px 14px}.rps-choices{gap:6px}.rps-choice-button{padding:7px 0;font-size:12px}}.lotto645-game{background:linear-gradient(165deg,#faf5ff 0%,#fff 40%,#eff6ff 100%);border-radius:16px;margin-top:14px;padding:16px 14px 18px;box-shadow:0 10px 28px #7c3aed1f,0 0 0 1px #c7d2fe99}.lotto645-header{margin-bottom:12px}.lotto645-title-row{align-items:flex-start;gap:10px;display:flex}.lotto645-icon{background:linear-gradient(145deg,#7c3aed,#5b21b6);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;font-size:22px;display:flex;box-shadow:0 4px 12px #5b21b659}.lotto645-title{letter-spacing:-.03em;color:#1e1b4b;margin:0;font-size:17px;font-weight:800}.lotto645-subtitle{color:#64748b;margin:6px 0 0;font-size:12px;line-height:1.5}.lotto645-subtitle strong{color:#4c1d95}.lotto645-price-row{background:#ffffffd9;border:1px solid #e9d5ff;border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;padding:8px 10px;display:flex}.lotto645-price-label{color:#6b7280;font-size:11px;font-weight:700}.lotto645-price-value{color:#7c3aed;font-variant-numeric:tabular-nums;font-size:15px;font-weight:800}.lotto645-price-cap{color:#94a3b8;font-size:10px}.lotto645-shared-panel{color:#e0e7ff;background:linear-gradient(#1e1b4b 0%,#312e81 100%);border-radius:12px;margin-bottom:12px;padding:12px 12px 14px;box-shadow:inset 0 1px #ffffff14}.lotto645-shared-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.lotto645-badge{letter-spacing:.12em;color:#fde68a;background:#fbbf2440;border:1px solid #fbbf2473;border-radius:999px;padding:4px 8px;font-size:10px;font-weight:800}.lotto645-date{color:#a5b4fc;font-size:11px}.lotto645-round-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:10px;margin-bottom:12px;display:flex}.lotto645-round-label{letter-spacing:.06em;color:#a5b4fc;text-transform:uppercase;margin:0;font-size:10px;font-weight:700}.lotto645-round-value{font-variant-numeric:tabular-nums;color:#fff;flex-direction:column;gap:2px;margin:2px 0 0;font-weight:900;display:flex}.lotto645-round-no{letter-spacing:.02em;color:#fef08a;font-size:17px}.lotto645-round-time{color:#e0e7ff;opacity:.95;font-size:14px;font-weight:700}.lotto645-countdown-stack{flex-direction:column;align-items:flex-end;gap:6px;display:flex}.lotto645-countdown{text-align:right}.lotto645-countdown--sub .lotto645-countdown-label{color:#a5b4fc;opacity:.9;font-size:9px}.lotto645-countdown-time--sub{color:#c7d2fe;font-size:14px}.lotto645-countdown-label{color:#a5b4fc;margin-bottom:2px;font-size:10px;display:block}.lotto645-countdown-time{font-variant-numeric:tabular-nums;color:#fde047;letter-spacing:.06em;font-size:18px;font-weight:800}.lotto645-countdown-time--closed{color:#fb923c;letter-spacing:.02em;font-size:16px}.lotto645-countdown-time--paused{color:#a5b4fc;letter-spacing:.04em;font-size:13px;font-weight:700}.lotto645-draw-start-banner{text-align:center;color:#fef08a;background:linear-gradient(90deg,#eab30840,#f9731659,#eab30840);border:1px solid #fde04773;border-radius:10px;margin:10px 0 0;padding:10px 12px;font-size:14px;font-weight:900;animation:1.2s ease-in-out infinite lotto645-draw-banner-pulse}@keyframes lotto645-draw-banner-pulse{0%,to{opacity:1}50%{opacity:.88}}.lotto645-win-block{border-top:1px solid #a5b4fc40;padding-top:10px}.lotto645-win-title{color:#c7d2fe;margin:0 0 8px;font-size:12px;font-weight:700}.lotto645-balls{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.lotto645-ball{font-variant-numeric:tabular-nums;border-radius:999px;justify-content:center;align-items:center;width:36px;height:36px;font-size:14px;font-weight:800;display:inline-flex}.lotto645-ball--main{color:#1c1917;background:linear-gradient(145deg,#fbbf24,#d97706);box-shadow:0 2px 8px #00000040}.lotto645-ball--bonus{color:#fff;background:linear-gradient(145deg,#22c55e,#15803d);box-shadow:0 0 0 2px #fde04773}.lotto645-ball--sm{color:#4c1d95;background:linear-gradient(145deg,#e9d5ff,#c4b5fd);width:28px;height:28px;font-size:11px}.lotto645-bonus-plus{color:#a5b4fc;padding:0 2px;font-weight:800}.lotto645-bonus-label{color:#86efac;margin-left:4px;font-size:10px}.lotto645-machine{margin-top:6px}.lotto645-machine-stage{flex-direction:column;align-items:center;display:flex}.lotto645-machine-drum{background:linear-gradient(165deg,#fff3 0%,#0000 40%),linear-gradient(#334155 0%,#0f172a 52%,#020617 100%);border:2px solid #94a3b866;border-radius:46px 46px 18px 18px;width:min(100%,268px);height:92px;position:relative;overflow:hidden;box-shadow:inset 0 -12px 28px #000000b3,inset 0 5px 14px #ffffff12,0 6px #020617,0 12px 28px #00000080}.lotto645-machine-drum--idle,.lotto645-machine-drum--idle .lotto645-tumble-dot{animation:none}.lotto645-machine-drum-shine{pointer-events:none;z-index:2;background:linear-gradient(90deg,#0000,#ffffff24,#0000);border-radius:999px;height:26%;position:absolute;inset:7px 14px auto}.lotto645-machine-drum-inner{z-index:1;border-radius:38px;position:absolute;inset:11px 9px 13px;overflow:hidden}.lotto645-tumble-dot{background:radial-gradient(circle at 32% 28%,#fff9c4 0%,#facc15 42%,#b45309 100%);border-radius:999px;width:13px;height:13px;animation:.95s linear infinite lotto645-tumble;position:absolute;box-shadow:inset 0 -2px 3px #0006,0 1px 3px #00000073}.lotto645-tumble-dot:first-child{animation-delay:0s;top:40%;left:10%}.lotto645-tumble-dot:nth-child(2){animation-delay:70ms;top:22%;left:24%}.lotto645-tumble-dot:nth-child(3){animation-delay:.14s;top:48%;left:42%}.lotto645-tumble-dot:nth-child(4){animation-delay:50ms;top:18%;left:58%}.lotto645-tumble-dot:nth-child(5){animation-delay:.11s;top:44%;left:72%}.lotto645-tumble-dot:nth-child(6){animation-delay:90ms;top:62%;left:18%}.lotto645-tumble-dot:nth-child(7){animation-delay:.16s;top:68%;left:38%}.lotto645-tumble-dot:nth-child(8){animation-delay:30ms;top:58%;left:52%}.lotto645-tumble-dot:nth-child(9){animation-delay:.12s;top:28%;left:68%}.lotto645-tumble-dot:nth-child(10){animation-delay:80ms;top:52%;left:82%}.lotto645-tumble-dot:nth-child(11){animation-delay:.13s;top:8%;left:30%}.lotto645-tumble-dot:nth-child(12){animation-delay:60ms;top:32%;left:48%}.lotto645-tumble-dot:nth-child(13){animation-delay:.1s;top:72%;left:62%}.lotto645-tumble-dot:nth-child(14){animation-delay:40ms;top:24%;left:8%}@keyframes lotto645-tumble{0%{transform:translate(0)rotate(0)}25%{transform:translate(14px,-8px)rotate(95deg)}50%{transform:translate(-10px,6px)rotate(190deg)}75%{transform:translate(8px,10px)rotate(280deg)}to{transform:translate(0)rotate(360deg)}}@keyframes lotto645-drum-rattle{0%,to{transform:translate(0)rotate(0)}25%{transform:translate(-3px)rotate(-.8deg)}75%{transform:translate(3px)rotate(.8deg)}}.lotto645-machine-neck{z-index:1;background:linear-gradient(90deg,#475569,#64748b,#475569);border-radius:0 0 6px 6px;width:76px;height:9px;margin-top:-1px;box-shadow:0 4px 10px #0006}.lotto645-machine-chute{justify-content:center;width:100px;height:24px;margin-top:-1px;display:flex}.lotto645-machine-chute-inner{clip-path:polygon(10% 0,90% 0,100% 100%,0 100%);background:linear-gradient(#64748b 0%,#1e293b 100%);width:58px;height:100%;display:block;box-shadow:inset 0 3px 8px #0000008c}.lotto645-machine-hint{text-align:center;letter-spacing:.06em;color:#94a3b8;margin:8px 0 6px;font-size:10px;font-weight:600}.lotto645-machine-results{background:#0f172a80;border:1px solid #64748b73;border-radius:14px;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 8px;min-height:56px;padding:10px;display:flex;overflow:hidden;box-shadow:inset 0 1px #ffffff0f}.lotto645-draw-row{flex-wrap:nowrap;justify-content:center;align-items:center;gap:6px 8px;width:100%;max-width:100%;padding-bottom:1px;display:flex;overflow:clip visible}.lotto645-draw-row .lotto645-draw-ball,.lotto645-draw-row .lotto645-bonus-plus{flex-shrink:0}.lotto645-draw-ball{font-variant-numeric:tabular-nums;opacity:0;border-radius:999px;justify-content:center;align-items:center;width:38px;height:38px;font-size:15px;font-weight:900;animation:1s cubic-bezier(.33,1.4,.48,1) forwards lotto645-ball-roll-out;display:inline-flex;position:relative;box-shadow:0 5px 14px #0006,inset 0 2px 5px #ffffff59}.lotto645-draw-ball--main{color:#1c1917;background:radial-gradient(circle at 32% 28%,#fef9c3 0%,#facc15 38%,#a16207 92%);border:1px solid #fde0478c}.lotto645-draw-ball--bonus{color:#fff;background:radial-gradient(circle at 32% 28%,#bbf7d0 0%,#22c55e 42%,#14532d 95%);border:1px solid #a7f3d073;box-shadow:0 0 0 2px #fde04759,0 5px 14px #0006,inset 0 2px 5px #ffffff47}.lotto645-draw-ball-shine{filter:blur(.5px);pointer-events:none;background:#ffffff80;border-radius:999px;width:11px;height:7px;position:absolute;top:6px;left:8px}@keyframes lotto645-ball-roll-out{0%{opacity:0;transform:translateY(-18px)scale(.2)rotate(-220deg)}15%{opacity:1}68%{transform:translateY(2px)scale(1.05)rotate(14deg)}86%{transform:translateY(-1px)scale(.99)rotate(-4deg)}to{opacity:1;transform:translateY(0)scale(1)rotate(0)}}.lotto645-bonus-plus--draw{opacity:0;animation:.45s forwards lotto645-fade-in}@keyframes lotto645-fade-in{0%{opacity:0}to{opacity:1}}.lotto645-pick-panel{background:#fff;border:1px solid #e9d5ff;border-radius:12px;margin-bottom:12px;padding:12px 10px 14px}.lotto645-pick-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.lotto645-pick-title{color:#312e81;font-size:13px;font-weight:800}.lotto645-pick-count{color:#7c3aed;font-variant-numeric:tabular-nums;font-size:12px;font-weight:700}.lotto645-grid{grid-template-columns:repeat(9,1fr);gap:5px;display:grid}.lotto645-cell{aspect-ratio:1;color:#374151;cursor:pointer;font-variant-numeric:tabular-nums;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;min-height:0;padding:0;font-size:11px;font-weight:700;transition:background .12s,border-color .12s,transform .1s}.lotto645-cell:hover{background:#faf5ff;border-color:#c4b5fd}.lotto645-cell--on{color:#fff;background:linear-gradient(#7c3aed,#6d28d9);border-color:#5b21b6;box-shadow:0 2px 6px #5b21b659}.lotto645-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;display:flex}.lotto645-btn{cursor:pointer;border:none;border-radius:999px;padding:8px 14px;font-size:12px;font-weight:700}.lotto645-btn--ghost{color:#4b5563;background:#f3f4f6;border:1px solid #e5e7eb}.lotto645-btn--ghost:hover{background:#ede9fe;border-color:#ddd6fe}.lotto645-btn--primary{color:#fff;background:linear-gradient(#7c3aed,#6d28d9);margin-left:auto;box-shadow:0 2px 8px #5b21b659}.lotto645-btn--primary:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}.lotto645-pick-locked{color:#b45309;margin:10px 0 0;font-size:11px;font-weight:600;line-height:1.4}.lotto645-toast{color:#15803d;margin:8px 0 0;font-size:12px;font-weight:600}.lotto645-tickets{background:#ffffffb3;border:1px dashed #c4b5fd;border-radius:12px;padding:10px 12px}.lotto645-tickets-title{color:#312e81;margin:0 0 8px;font-size:13px;font-weight:800}.lotto645-tickets-empty{color:#9ca3af;margin:0;font-size:12px}.lotto645-ticket-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.lotto645-ticket-row{background:#fff;border:1px solid #ede9fe;border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;display:flex}.lotto645-ticket-balls{flex-wrap:wrap;gap:4px;display:flex}.lotto645-ticket-status{color:#6d28d9;font-size:11px;font-weight:700}.lotto645-details{color:#64748b;margin-top:12px;font-size:12px}.lotto645-details summary{cursor:pointer;color:#5b21b6;font-weight:700}.lotto645-rank-table{margin:8px 0 0;padding-left:1rem;line-height:1.6}.lotto645-results-block{background:linear-gradient(165deg,#1e1b4beb,#0f172afa);border:1px solid #a5b4fc59;border-radius:14px;margin-top:14px;padding:14px 12px 16px;box-shadow:0 8px 28px #00000059}.lotto645-results-title{color:#fef08a;letter-spacing:-.02em;margin:0 0 6px;font-size:18px;font-weight:900}.lotto645-results-sub{color:#c7d2fe;margin:0 0 12px;font-size:11px;line-height:1.45}.lotto645-results-compact-balls{background:#0f172a8c;border:1px solid #64748b66;border-radius:12px;flex-wrap:nowrap;justify-content:center;align-items:center;gap:4px 6px;margin-bottom:16px;padding:8px 10px;display:flex;overflow:hidden}.lotto645-results-compact-balls .lotto645-draw-ball{flex-shrink:0;width:30px;height:30px;font-size:12px}.lotto645-results-compact-balls .lotto645-bonus-plus{flex-shrink:0;padding:0 1px;font-size:12px;font-weight:800}.lotto645-draw-ball--static{opacity:1!important;animation:none!important;transform:none!important}.lotto645-results-layout{grid-template-columns:minmax(0,1fr) 140px;align-items:start;gap:14px;display:grid}@media (width<=560px){.lotto645-results-layout{grid-template-columns:1fr}}.lotto645-results-section-title{color:#e0e7ff;margin:0 0 8px;font-size:12px;font-weight:800}.lotto645-results-empty{color:#94a3b8;margin:0;font-size:12px}.lotto645-results-ticket-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.lotto645-results-ticket-row{background:#0f172aa6;border:1px solid #4755698c;border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.lotto645-results-ticket-balls{flex-wrap:wrap;gap:5px;display:flex}.lotto645-ball--hit-main{font-weight:900;box-shadow:0 0 0 2px #facc15,0 2px 8px #00000040}.lotto645-ball--hit-bonus{box-shadow:0 0 0 2px #4ade80,0 2px 8px #00000040;color:#fff!important;background:linear-gradient(145deg,#4ade80,#15803d)!important}.lotto645-ball--miss{opacity:.42}.lotto645-results-ticket-outcome{text-align:right;flex-direction:column;align-items:flex-end;gap:2px;min-width:100px;display:flex}.lotto645-results-rank-text{color:#fde68a;font-size:13px;font-weight:800}.lotto645-results-payout-text{color:#a7f3d0;font-variant-numeric:tabular-nums;font-size:12px;font-weight:700}.lotto645-results-prize-scale{background:#1e293bd9;border:1px solid #94a3b859;border-radius:10px;padding:10px 12px}.lotto645-results-prize-scale-title{color:#cbd5e1;letter-spacing:.04em;margin:0 0 8px;font-size:11px;font-weight:800}.lotto645-results-prize-scale-list{color:#e2e8f0;margin:0;padding-left:1.1rem;font-size:11px;font-weight:600;line-height:1.65}.lotto645-results-prize-scale-miss{color:#94a3b8;border-top:1px dashed #94a3b859;margin-top:6px;margin-left:-1.1rem;padding-top:6px;padding-left:0;list-style:none}.lotto645-results-leaderboard{border-top:1px solid #818cf840;margin-top:18px;padding-top:14px}.lotto645-lb-table-wrap{border:1px solid #47556980;border-radius:10px;margin-top:8px;overflow-x:auto}.lotto645-lb-table{border-collapse:collapse;background:#0f172a80;width:100%;font-size:11px}.lotto645-lb-table th,.lotto645-lb-table td{text-align:left;border-bottom:1px solid #33415599;padding:8px 10px}.lotto645-lb-table th{color:#c7d2fe;background:#1e1b4b99;font-weight:800}.lotto645-lb-table td{color:#e2e8f0}.lotto645-lb-table--compact{font-size:10px}.lotto645-lb-table--compact th,.lotto645-lb-table--compact td{padding:6px 8px}.lotto645-lb-nums{font-variant-numeric:tabular-nums;white-space:nowrap;text-overflow:ellipsis;max-width:140px;overflow:hidden}.lotto645-lb-row--me{background:#5b21b640}.lotto645-lb-me-badge{color:#fef9c3;vertical-align:middle;background:#eab30859;border-radius:999px;margin-left:6px;padding:1px 6px;font-size:9px;font-weight:800;display:inline-block}.lotto645-history{background:#ffffffbf;border:1px solid #ddd6fe;border-radius:12px;margin-top:14px;padding:0;overflow:hidden}.lotto645-history-title-btn{width:100%;font:inherit;color:#312e81;text-align:left;cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;margin:0;padding:12px 14px;font-size:14px;font-weight:900;transition:background .15s;display:flex}.lotto645-history-title-btn:hover{background:#ede9fea6}.lotto645-history-chevron{border-bottom:2px solid #6d28d9;border-right:2px solid #6d28d9;flex-shrink:0;width:10px;height:10px;transition:transform .3s;display:inline-block;transform:rotate(45deg)}.lotto645-history-chevron--open{transform:rotate(225deg)}.lotto645-history-panel{grid-template-rows:0fr;transition:grid-template-rows .35s;display:grid}.lotto645-history-panel--open{grid-template-rows:1fr}.lotto645-history-panel-inner{min-height:0;overflow:hidden}.lotto645-history-panel-inner>.lotto645-tickets-empty{padding:8px 14px 14px}.lotto645-history-nav{justify-content:center;align-items:center;gap:16px;padding:4px 12px 12px;display:flex}.lotto645-history-nav-btn{color:#5b21b6;cursor:pointer;background:#fff;border:1px solid #c4b5fd;border-radius:10px;min-width:40px;padding:8px 12px;font-size:16px;font-weight:800}.lotto645-history-nav-btn:hover:not(:disabled){background:#ede9fe}.lotto645-history-nav-btn:disabled{opacity:.35;cursor:not-allowed}.lotto645-history-nav-round{color:#1e1b4b;text-align:center;min-width:4.5rem;font-size:15px;font-weight:900}.lotto645-history-detail{padding:0 14px 14px}.lotto645-history-draw-time{color:#64748b;margin:0 0 6px;font-size:12px;font-weight:700}.lotto645-history-summary{color:#4338ca;margin:0 0 12px;font-size:12px;font-weight:600}.lotto645-history-winnums{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;margin-bottom:12px;padding:10px 12px}.lotto645-history-winnums-label{color:#475569;letter-spacing:.04em;margin:0 0 8px;font-size:11px;font-weight:800}.lotto645-history-balls{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:6px 8px;display:flex}.lotto645-history-pending{color:#94a3b8;margin:0;font-size:12px}.lotto645-history-result-list{color:#1e293b;margin:0;padding:0;font-size:12px;line-height:1.55;list-style:none}.lotto645-history-result-item{align-items:baseline;gap:6px;margin-bottom:8px;display:flex}.lotto645-history-result-no{color:#6d28d9;flex-shrink:0;min-width:1.25rem;font-weight:800}.lotto645-history-result-body{font-weight:600}.lotto645-history-result-nums{font-variant-numeric:tabular-nums}.lotto645-history-result-sep{color:#94a3b8;font-weight:500}.lotto645-history-result-out{color:#15803d;font-weight:700}.lotto645-history-winners{margin-top:12px;font-size:12px}.lotto645-history-winners-title{color:#5b21b6;letter-spacing:-.02em;margin:0 0 8px;font-size:12px;font-weight:800}.lotto645-history-winners-empty{color:#64748b;margin:0;font-size:12px;font-weight:600;line-height:1.5}@media (width<=480px){.lotto645-grid{grid-template-columns:repeat(7,1fr)}.lotto645-ball{width:32px;height:32px;font-size:12px}}@media (prefers-reduced-motion:reduce){.lotto645-history-panel,.lotto645-history-chevron,.lotto645-cell{transition:none}.lotto645-machine-drum,.lotto645-tumble-dot{animation:none}.lotto645-draw-ball{opacity:1;animation:none;transform:none}.lotto645-bonus-plus--draw{opacity:1;animation:none}.lotto645-draw-start-banner{animation:none}}.ladder-game{background:linear-gradient(165deg,#1e293b 0%,#0f172a 45%,#172554 100%);border-radius:16px;margin-top:14px;padding:16px 14px 18px;position:relative;overflow:hidden;box-shadow:0 12px 28px #0f172a73,inset 0 1px #ffffff14}.ladder-game:before{content:"";pointer-events:none;background:radial-gradient(80% 50% at 50% -10%,#6366f159,#0000 55%),radial-gradient(60% 40% at 100% 100%,#eab3081f,#0000 50%);position:absolute;inset:0}.ladder-game-frame{pointer-events:none;border:1px solid #94a3b840;border-radius:12px;position:absolute;inset:6px}.ladder-header{z-index:1;flex-direction:column;gap:10px;margin-bottom:12px;display:flex;position:relative}.ladder-title-row{align-items:flex-start;gap:10px;display:flex}.ladder-game-icon{background:linear-gradient(145deg,#6366f180,#4f46e559);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:22px;display:flex;box-shadow:0 4px 12px #00000040,inset 0 1px #fff3}.ladder-title{letter-spacing:-.03em;color:#f8fafc;text-shadow:0 1px 2px #00000059;margin:0;font-size:17px;font-weight:700}.ladder-subtitle{color:#94a3b8;margin:4px 0 0;font-size:12px;line-height:1.45}.ladder-subtitle strong{color:#e2e8f0}.ladder-stake-row{background:#0f172a8c;border:1px solid #94a3b833;border-radius:10px;flex-wrap:wrap;align-items:center;gap:6px 10px;padding:8px 10px;display:flex}.ladder-stake-label{color:#cbd5e1;text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:700}.ladder-stake-input{color:#f1f5f9;font-variant-numeric:tabular-nums;background:#1e293be6;border:1px solid #94a3b859;border-radius:8px;width:4.25rem;padding:6px 8px;font-size:14px;font-weight:700}.ladder-stake-input:focus{border-color:#818cf8;outline:none;box-shadow:0 0 0 2px #818cf859}.ladder-stake-unit{color:#a5b4fc;font-size:13px;font-weight:700}.ladder-stake-hint{color:#64748b;flex:100%;font-size:10px;line-height:1.35}.ladder-header-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;width:100%;display:flex}.ladder-shuffle-button{color:#e2e8f0;cursor:pointer;background:linear-gradient(#334155e6,#1e293bf2);border:1px solid #94a3b859;border-radius:999px;padding:7px 14px;font-size:12px;font-weight:600;box-shadow:0 2px 6px #0003}.ladder-shuffle-button:hover:not(:disabled){background:linear-gradient(#475569f2,#334155fa);border-color:#94a3b8}.ladder-shuffle-button:disabled{opacity:.45;cursor:not-allowed}.ladder-start-button{color:#f8fafc;cursor:pointer;background:linear-gradient(#4f46e5 0%,#4338ca 100%);border:1px solid #818cf88c;border-radius:999px;padding:7px 20px;font-size:12px;font-weight:700;box-shadow:0 2px #312e81,0 4px 12px #4f46e566}.ladder-start-button:hover:not(:disabled){background:linear-gradient(#6366f1 0%,#4f46e5 100%);border-color:#a5b4fc}.ladder-start-button:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}.ladder-board{z-index:1;background:linear-gradient(#1e293bd9 0%,#0f172ae6 100%);border:1px solid #64748b59;border-radius:14px;padding:10px 8px 12px;position:relative;box-shadow:inset 0 2px 12px #00000040}.ladder-start-label,.ladder-prize-label{text-align:center;letter-spacing:.2em;color:#64748b;margin-bottom:6px;font-size:10px;font-weight:800}.ladder-prize-label{margin-top:8px;margin-bottom:6px}.ladder-top-labels{grid-template-columns:repeat(4,1fr);gap:8px;margin:0 4px 8px;display:grid}.ladder-top-button{cursor:pointer;background:linear-gradient(#334155 0%,#1e293b 100%);border:2px solid #94a3b859;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:2px;min-height:52px;padding:6px 4px;transition:transform .12s,border-color .12s;display:flex;box-shadow:0 4px #0f172a,0 6px 14px #00000059}.ladder-top-button:active:not(:disabled){transform:translateY(2px);box-shadow:0 2px #0f172a,0 3px 8px #0000004d}.ladder-top-button:disabled{opacity:.5;cursor:not-allowed}.ladder-top-button-num{color:#f8fafc;font-variant-numeric:tabular-nums;font-size:18px;font-weight:800;line-height:1}.ladder-top-button-sub{color:#94a3b8;letter-spacing:.08em;font-size:9px;font-weight:600}.ladder-top-button-active{background:linear-gradient(#4f46e5 0%,#4338ca 100%);border-color:#818cf8;box-shadow:0 0 0 2px #818cf873,0 4px #312e81,0 8px 20px #4f46e573}.ladder-top-button-active .ladder-top-button-sub{color:#c7d2fe}.ladder-lines{border:1px solid #1e3a3299;border-radius:10px;min-height:260px;margin:0 4px;padding:6px 0;position:relative;overflow:hidden;box-shadow:inset 0 2px 16px #00000059}.ladder-result-overlay{z-index:6;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0f172a8c;justify-content:center;align-items:center;padding:12px;animation:.28s ease-out ladder-overlay-in;display:flex;position:absolute;inset:0}@keyframes ladder-overlay-in{0%{opacity:0}to{opacity:1}}.ladder-result-overlay-card{text-align:center;border:2px solid #fff3;border-radius:16px;width:100%;max-width:220px;padding:16px 14px 14px;box-shadow:0 16px 40px #00000073,inset 0 1px #ffffff26}.ladder-result-overlay-card--win{background:linear-gradient(165deg,#1e3a5f 0%,#0f172a 50%,#312e81 100%);border-color:#818cf88c}.ladder-result-overlay-card--lose{background:linear-gradient(165deg,#334155 0%,#1e293b 100%);border-color:#94a3b866}.ladder-result-overlay-label{letter-spacing:.18em;color:#94a3b8;text-transform:uppercase;margin:0 0 6px;font-size:10px;font-weight:800}.ladder-result-overlay-mult{letter-spacing:-.04em;font-variant-numeric:tabular-nums;color:#f8fafc;text-shadow:0 2px 12px #00000059;margin:0 0 8px;font-size:36px;font-weight:900;line-height:1.1}.ladder-result-overlay-card--win .ladder-result-overlay-mult{color:#fde047;text-shadow:0 0 24px #facc1559}.ladder-result-overlay-card--lose .ladder-result-overlay-mult{color:#94a3b8}.ladder-result-overlay-detail{color:#e2e8f0;margin:0 0 10px;font-size:13px;font-weight:600;line-height:1.45}.ladder-result-overlay-detail strong{color:#fde047;font-size:15px;font-weight:800}.ladder-result-overlay-timer{color:#94a3b8;margin:0;font-size:11px;font-weight:600}.ladder-lines-bg{pointer-events:none;background:linear-gradient(90deg,#14532d26 0%,#0000 40% 60%,#14532d26 100%),radial-gradient(100% 80% at 50% 0,#22c55e1f,#0000 55%),linear-gradient(#14532d 0%,#166534 35%,#14532d 100%);position:absolute;inset:0}.ladder-inner{z-index:1;position:absolute;inset:8px 10px}.ladder-row{height:3.33333%;position:relative}.ladder-verts-fixed{position:absolute;inset:0}.ladder-vert-fixed{background:linear-gradient(90deg,#3f2e1f 0%,#6b4f2e 40%,#4a3728 100%);border-radius:2px;width:4px;position:absolute;top:0;bottom:0;transform:translate(-50%);box-shadow:inset 1px 0 #ffffff1f,inset -1px 0 2px #00000059}.ladder-vert-fixed-0{left:12.5%}.ladder-vert-fixed-1{left:37.5%}.ladder-vert-fixed-2{left:62.5%}.ladder-vert-fixed-3{left:87.5%}.ladder-horiz{background:0 0;height:2px;position:absolute;left:0;right:0}.ladder-horiz:before{content:"";transform-origin:0;background:linear-gradient(#a16207 0%,#713f12 50%,#451a03 100%);border-radius:2px;width:25%;height:3px;animation:.25s ease-out ladder-draw;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 1px 2px #0006,inset 0 1px #fff3}.ladder-horiz-0:before{left:12.5%}.ladder-horiz-1:before{left:37.5%}.ladder-horiz-2:before{left:62.5%}.ladder-bottom-labels{grid-template-columns:repeat(4,1fr);gap:8px;margin:0 4px;display:grid}.ladder-bottom-slot{background:#0f172aa6;border:2px solid #94a3b840;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-height:64px;padding:8px 4px;transition:transform .2s,box-shadow .2s;display:flex;box-shadow:0 4px 10px #00000040}.ladder-bottom-mult{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:20px;font-weight:800;line-height:1}.ladder-bottom-pay{font-variant-numeric:tabular-nums;opacity:.85;font-size:10px;font-weight:600}.ladder-bottom-slot--m0{background:linear-gradient(#334155 0%,#1e293b 100%);border-color:#64748b80}.ladder-bottom-slot--m0 .ladder-bottom-mult{color:#94a3b8}.ladder-bottom-slot--m0 .ladder-bottom-pay{color:#64748b}.ladder-bottom-slot--m2{background:linear-gradient(#0ea5e959 0%,#0c4a6e8c 100%);border-color:#38bdf873}.ladder-bottom-slot--m2 .ladder-bottom-mult{color:#7dd3fc}.ladder-bottom-slot--m2 .ladder-bottom-pay{color:#bae6fd}.ladder-bottom-slot--m3{background:linear-gradient(#10b98159 0%,#064e3b8c 100%);border-color:#34d39973}.ladder-bottom-slot--m3 .ladder-bottom-mult{color:#6ee7b7}.ladder-bottom-slot--m3 .ladder-bottom-pay{color:#a7f3d0}.ladder-bottom-slot--m4{background:linear-gradient(#f59e0b73 0%,#78350f8c 100%);border-color:#fbbf248c;box-shadow:0 0 20px #fbbf2426,0 4px 10px #00000040}.ladder-bottom-slot--m4 .ladder-bottom-mult{color:#fde047;text-shadow:0 0 12px #facc1559}.ladder-bottom-slot--m4 .ladder-bottom-pay{color:#fef08a}.ladder-bottom-slot-active{z-index:2;transform:scale(1.04);box-shadow:0 0 0 2px #fbbf24a6,0 8px 24px #00000073}.ladder-result{z-index:1;background:#0f172a8c;border:1px solid #94a3b833;border-radius:10px;margin-top:12px;padding:10px 12px;font-size:13px;position:relative}.ladder-result-text{color:#e2e8f0;margin:0;font-weight:600;line-height:1.5}.ladder-result-text strong{color:#fde047;font-weight:800}.ladder-result-emoji{margin-right:4px}.ladder-result-hint{color:#94a3b8;margin:0;font-size:12px;line-height:1.45}.ladder-result-running{color:#a5b4fc;font-weight:600}.ladder-result-hint--dim{color:#64748b;font-size:11px}.ladder-result-skip{font:inherit;color:#a5b4fc;cursor:pointer;background:0 0;border:none;margin:0;padding:0;font-size:11px;font-weight:700;text-decoration:underline}.ladder-result-skip:hover{color:#c7d2fe}.ladder-ball{z-index:3;background:radial-gradient(circle at 30% 30%,#fef08a 0%,#eab308 35%,#b45309 85%,#78350f 100%);border-radius:999px;width:14px;height:14px;transition:top .3s linear,left .3s linear;position:absolute;transform:translate(-50%,-55%);box-shadow:0 0 0 2px #fde04780,0 2px 4px #00000073,inset 0 -2px 4px #00000040,inset 0 2px 2px #ffffff73}@keyframes ladder-draw{0%{transform:translateY(-50%)scaleX(0)}to{transform:translateY(-50%)scaleX(1)}}@media (width<=480px){.ladder-game{padding:14px 10px 16px}.ladder-bottom-mult{font-size:18px}}@media (prefers-reduced-motion:reduce){.ladder-top-button:active:not(:disabled),.ladder-bottom-slot-active{transform:none}.ladder-result-overlay{animation:none}}.baccarat-game{background:#fff;border-radius:10px;margin-top:12px;padding:14px 12px 16px;box-shadow:0 8px 20px #94a3b859,0 0 0 1px #d1d5dbe6}.baccarat-header{margin-bottom:10px}.baccarat-title{color:#111827;margin:0;font-size:15px;font-weight:700}.baccarat-subtitle{color:#6b7280;margin:4px 0 0;font-size:12px}.baccarat-timer-box{background:#eff6ff;border:1px solid #bfdbfe;border-radius:10px;align-items:baseline;gap:8px;margin-top:6px;padding:4px 10px;display:inline-flex}.baccarat-timer-label{color:#1e3a8a;font-size:11px;font-weight:600}.baccarat-timer-value{color:#1d4ed8;font-size:16px;line-height:1}.baccarat-lobby{align-items:center;gap:8px;margin-bottom:10px;display:flex}.baccarat-join-button{color:#4338ca;cursor:pointer;background:#eef2ff;border:1px solid #c7d2fe;border-radius:9px;height:30px;padding:0 12px;font-size:12px;font-weight:700}.baccarat-participants{color:#475569;background:#f8fafc;border:1px solid #e2e8f0;border-radius:9px;flex-wrap:wrap;flex:1;align-items:center;gap:6px;min-height:30px;padding:0 10px;font-size:11px;display:flex}.participant-none{color:#94a3b8}.participant-pill{background:#fff;border:1px solid #dbeafe;border-radius:999px;align-items:center;gap:6px;padding:2px 8px;display:inline-flex}.participant-pill .mark-v{color:#16a34a}.participant-pill .mark-x{color:#b91c1c}.baccarat-table-phase-msg{color:#e2e8f0;font-size:11px;font-weight:700}.baccarat-stats-bar{color:#334155;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin:0 0 10px;padding:8px 12px;font-size:12px;font-weight:800;display:flex;box-shadow:0 1px 2px #0f172a0a}.baccarat-stats-bar-left{flex-wrap:wrap;align-items:center;gap:16px;min-width:0;display:flex}.baccarat-stats-bar-right{font-variant-numeric:tabular-nums;white-space:nowrap;color:#475569}.baccarat-stats-bar-stat{font-variant-numeric:tabular-nums;white-space:nowrap}.baccarat-play-hint-overlay{z-index:5;pointer-events:none;text-align:center;justify-content:center;align-items:flex-end;padding:0;display:flex;position:absolute;bottom:24px;left:10px;right:10px}.baccarat-play-hint-bar{color:#f8fafc;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0000008c;border:1px solid #ffffff1f;border-radius:8px;flex-wrap:wrap;justify-content:center;align-items:center;gap:4px 6px;max-width:100%;padding:8px 12px;font-size:11px;font-weight:700;line-height:1.4;display:flex;box-shadow:0 4px 14px #00000059}.baccarat-table{box-sizing:border-box;background:radial-gradient(circle at 20% 18%,#ffffff29,#0000 45%),radial-gradient(circle at 80% 82%,#ffffff1a,#0000 50%),repeating-linear-gradient(135deg,#ffffff08 0 6px,#fff0 6px 12px),linear-gradient(#0a7a47,#07643a 55%,#064c2d);border:2px solid #f8e7a8;border-radius:18px;flex-direction:column;gap:8px;width:100%;padding:12px 12px 14px;display:flex;position:relative;overflow:visible;box-shadow:inset 0 0 0 2px #ffffff14,inset 0 -20px 30px #00000029,0 8px 18px #02061740}.baccarat-table-play{width:100%;position:relative}.baccarat-table-play-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch;gap:10px;width:100%;min-height:118px;display:grid;position:relative}.baccarat-table-play-row:after{content:"";pointer-events:none;z-index:1;background:#f8e7a88c;width:1px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.baccarat-table-result-overlay{pointer-events:none;z-index:4;perspective:900px;justify-content:center;align-items:flex-end;padding-bottom:10px;display:flex;position:absolute;bottom:0;left:8px;right:8px}.baccarat-result-plaque{text-align:center;transform-origin:50% 100%;background:radial-gradient(120% 80% at 50% 0,#ffffff24,#0000 50%),linear-gradient(165deg,#0f172afa,#0f172af5);border:2px solid #facc15eb;border-radius:14px;min-width:min(92%,280px);max-width:320px;padding:12px 16px 14px;animation:.65s cubic-bezier(.22,1,.36,1) both baccarat-result-pop;position:relative;box-shadow:0 -6px 24px #00000073,0 16px 40px #00000059,inset 0 1px #ffffff1f}.baccarat-result-plaque:before{content:"";z-index:-1;opacity:.9;background:linear-gradient(135deg,#fde68a8c,#facc1526 40%,#fde68a66);border-radius:16px;position:absolute;inset:-2px}.baccarat-result-plaque-eyebrow{letter-spacing:.35em;color:#fef3c7bf;margin-bottom:4px;font-size:10px;font-weight:800;display:block}.baccarat-result-plaque-title{color:#fefce8;letter-spacing:-.02em;text-shadow:0 2px 12px #0000008c;font-size:20px;font-weight:900;line-height:1.15;display:block}.baccarat-result-plaque-sub{color:#f1f5f9eb;margin:8px 0 0;font-size:12px;font-weight:700;line-height:1.35}.baccarat-result-plaque--gain .baccarat-result-plaque-sub{color:#bbf7d0}.baccarat-result-plaque--loss .baccarat-result-plaque-sub{color:#fecaca}.baccarat-result-plaque--push .baccarat-result-plaque-sub{color:#e2e8f0}.baccarat-result-plaque--neutral .baccarat-result-plaque-sub{color:#e2e8f0e0}@keyframes baccarat-result-pop{0%{opacity:1;filter:blur();transform:translateY(22px)scale(.94)rotateX(10deg)}58%{transform:translateY(-4px)scale(1.02)rotateX(0)}to{opacity:1;filter:blur();transform:translateY(0)scale(1)rotateX(0)}}.baccarat-table:before{content:"";pointer-events:none;border:1px solid #f8e7a899;border-radius:14px;position:absolute;inset:8px 10px}.baccarat-table-markings{pointer-events:none;opacity:.22;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid;position:absolute;bottom:8px;left:12px;right:12px}.baccarat-table-marking{text-align:center;color:#fef3c7;letter-spacing:1.4px;border:1px dashed #f8e7a8bf;border-radius:999px;padding:4px 0;font-size:10px;font-weight:800}.baccarat-table-marking.player{grid-column:1}.baccarat-table-marking.tie{grid-column:2}.baccarat-table-marking.banker{grid-column:3}.baccarat-lane{z-index:1;box-sizing:border-box;background:#ffffff0a;border:1px solid #f8e7a873;border-radius:12px;min-height:102px;padding:8px 6px;position:relative}.baccarat-lane-watermark{letter-spacing:1.2px;color:#fef3c733;pointer-events:none;-webkit-user-select:none;user-select:none;z-index:0;font-size:22px;font-weight:900;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.baccarat-lane-title{text-align:center;color:#fef3c7;letter-spacing:.3px;text-shadow:0 1px 1px #00000059;margin:0 0 8px;font-size:11px;font-weight:800}.baccarat-cards{z-index:1;perspective:780px;perspective-origin:50% 55%;transform-style:preserve-3d;justify-content:center;gap:6px;display:flex;position:relative}.baccarat-card{-webkit-user-select:none;user-select:none;background:linear-gradient(160deg,#fffffff0,#f1f5f9eb),#fff;border:1px solid #94a3b8;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;width:48px;height:66px;display:flex;box-shadow:0 8px 14px #0f172a2e,inset 0 0 0 1px #ffffffd9}.baccarat-card--flip{box-shadow:none;background:0 0;border:none;flex-shrink:0;padding:0;display:block}.baccarat-card--flip.dealing-back{animation:.48s cubic-bezier(.22,.65,.2,1) both baccarat-deal-in}.baccarat-card--peekable.baccarat-card--flip{cursor:pointer}.baccarat-card--peekable.baccarat-card--flip:focus-visible{outline-offset:2px;outline:2px solid #4338ca}.baccarat-card-flip{width:100%;height:100%;transform-style:preserve-3d;border-radius:8px;transition:transform .7s cubic-bezier(.45,.12,.2,.95);position:relative}.baccarat-card-flip--revealed{transform:rotateY(180deg)}.baccarat-card-face{backface-visibility:hidden;border:1px solid #94a3b8;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0;overflow:hidden;box-shadow:0 8px 14px #0f172a2e,inset 0 0 0 1px #ffffffd9}.baccarat-card-face--back{background:#1e293b;transform:rotateY(0)}.baccarat-card-face--front{background:linear-gradient(160deg,#fffffff0,#f1f5f9eb),#fff;transform:rotateY(180deg)}@media (prefers-reduced-motion:reduce){.baccarat-card-flip{transition-duration:.01ms}}.baccarat-card-peel{touch-action:none;position:relative;overflow:hidden}.baccarat-card-peel-face{z-index:1;background:linear-gradient(160deg,#fffffffa,#f1f5f9f5),#fff;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0;box-shadow:inset 0 0 0 1px #ffffffd9}.baccarat-card-peel-face .rank{color:#0f172a;font-size:14px;font-weight:800;line-height:1}.baccarat-card-peel-face .suit{color:#0f172a;margin-top:2px;font-size:16px;line-height:1}.baccarat-card-peel-face.red .rank,.baccarat-card-peel-face.red .suit{color:#dc2626}.baccarat-card-peel-mask{z-index:2;transform-origin:50% 0;will-change:transform;background:radial-gradient(circle at 30% 30%,#ffffff1f,#0000 45%),repeating-linear-gradient(45deg,#334155 0 6px,#1e293b 6px 12px);border-radius:8px;position:absolute;inset:0;box-shadow:inset 0 0 0 1px #0f172a59,0 6px 12px #0f172a33}.baccarat-peel-arrow{z-index:4;pointer-events:none;flex-direction:column;align-items:center;gap:0;display:flex;position:absolute;top:3px;left:50%;transform:translate(-50%)}.baccarat-peel-arrow-glyph{color:#fef9c3;text-shadow:0 0 6px #000000f2,0 2px 4px #000000d9;font-size:16px;font-weight:900;line-height:1;animation:.85s ease-in-out infinite baccarat-peel-arrow-bob;display:inline-block}@keyframes baccarat-peel-arrow-bob{0%,to{transform:translateY(0)}50%{transform:translateY(6px)}}.baccarat-peel-mask-hit{z-index:3;cursor:grab;touch-action:none;background:0 0;position:absolute;inset:0}.baccarat-peel-mask-hit:active{cursor:grabbing}.baccarat-card.empty{box-shadow:none;background:0 0;border-color:#0000}.baccarat-card .rank{font-size:14px;font-weight:800;line-height:1}.baccarat-card .suit{margin-top:2px;font-size:16px;line-height:1}.baccarat-card .back{color:#0000;box-sizing:border-box;background:radial-gradient(circle at 30% 30%,#ffffff1f,#0000 45%),repeating-linear-gradient(45deg,#334155 0 6px,#1e293b 6px 12px);border-radius:7px;justify-content:center;align-items:center;width:100%;height:100%;font-size:0;display:flex}.baccarat-card-reveal{touch-action:none;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative}.baccarat-card-reveal.is-target{cursor:ns-resize}.baccarat-card-reveal .front-mask{z-index:2;background:#fff;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.baccarat-card-reveal .back{z-index:1;position:relative}.baccarat-card.red .rank,.baccarat-card.red .suit,.baccarat-card-face--front.red .rank,.baccarat-card-face--front.red .suit{color:#dc2626}.baccarat-bet-board{background:linear-gradient(#094f2ff5,#074026f5),#085733;border:1px solid #f8e7a88c;border-radius:12px;grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(2px,1.2vw,6px);margin-top:10px;padding:clamp(4px,1.2vw,8px);display:grid}.baccarat-bet-zone{color:#fef3c7;cursor:pointer;text-shadow:0 1px 1px #00000052;background:#ffffff0f;border:1px solid #f8e7a88c;border-radius:10px;grid-template-rows:1fr 1fr 1fr;align-content:center;place-items:center;gap:0;min-height:clamp(38px,10vw,52px);font-size:clamp(8px,2.2vw,10px);font-weight:800;display:grid}.baccarat-bet-zone.active{background:#ffffff24;border-color:#fde68a;box-shadow:inset 0 0 0 1px #fde68a8f,0 0 0 1px #0003}.baccarat-bet-zone.win-effect{border-color:#fde68a;animation:1s ease-in-out 3 baccarat-bet-win-pulse;box-shadow:inset 0 0 0 1px #fde68aa6,0 0 10px #fde68a73,0 0 18px #facc1552}.baccarat-bet-zone:disabled{opacity:.62;cursor:default}.baccarat-bet-zone b{color:#fff;min-height:11px;font-size:clamp(7px,2vw,9px);line-height:1}.baccarat-bet-zone small{color:#fef3c7e0;font-size:clamp(6px,1.8vw,8px);font-weight:700;line-height:1}.baccarat-bet-zone .baccarat-bet-amount-placeholder{visibility:hidden}.baccarat-bet-zone-player,.baccarat-bet-zone-playerPair{border-color:#93c5fdb8}.baccarat-bet-zone-banker,.baccarat-bet-zone-bankerPair{border-color:#fca5a5b8}.baccarat-bet-zone-tie{border-color:#86efacb8}.baccarat-chip-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin-top:8px;display:flex}.baccarat-chip{color:#111827;cursor:pointer;background:radial-gradient(circle at 30% 30%,#fff,#e5e7eb);border:2px solid #cbd5e1;border-radius:999px;width:38px;height:38px;font-size:12px;font-weight:900}.baccarat-chip.active{background:radial-gradient(circle at 30% 30%,#f8fbff,#dbeafe);border-color:#2563eb;box-shadow:inset 0 0 0 2px #ffffffe6,0 0 0 2px #2563eb40}.baccarat-chip-custom{flex-direction:row;flex:160px;align-items:center;min-width:140px;max-width:320px;height:38px;display:inline-flex}.baccarat-chip-custom-input{font-variant-numeric:tabular-nums;color:#111827;box-sizing:border-box;text-align:center;background:#fff;border:2px solid #cbd5e1;border-radius:10px;width:100%;min-width:0;height:32px;padding:0 6px;font-size:13px;font-weight:800}.baccarat-chip-custom-input:focus{border-color:#93c5fd;outline:none}.baccarat-chip-custom-input.active{background:#f8fafc;border-color:#2563eb;box-shadow:0 0 0 2px #2563eb33}.baccarat-chip-custom-input:disabled{opacity:.55;cursor:not-allowed}.baccarat-chip-repeat{color:#1e40af;cursor:pointer;background:linear-gradient(#eff6ff,#dbeafe);border:1px solid #93c5fd;border-radius:10px;min-width:72px;height:38px;padding:0 10px;font-size:12px;font-weight:900}.baccarat-chip-repeat:disabled{opacity:.45;cursor:not-allowed}.baccarat-chip-cancel{color:#991b1b;cursor:pointer;background:linear-gradient(#fee2e2,#fecaca);border:1px solid #fecaca;border-radius:999px;height:38px;padding:0 12px;font-size:11px;font-weight:800}.baccarat-chip-cancel:disabled{opacity:.5;cursor:default}.baccarat-result{text-align:center;min-height:20px;margin-top:8px}.baccarat-result .hint{color:#94a3b8;font-size:12px}.baccarat-result .win{color:#16a34a;font-size:14px;font-weight:800}.baccarat-result .lose{color:#b91c1c;font-size:14px;font-weight:800}.baccarat-result .draw{color:#475569;font-size:13px;font-weight:700}.baccarat-road{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin-top:10px;padding:8px 6px}.baccarat-road-title{color:#475569;margin:0 0 4px;font-size:10px;font-weight:700}.baccarat-road-summary{color:#475569;flex-wrap:wrap;gap:4px 8px;margin-bottom:4px;font-size:10px;font-weight:700;display:flex}.baccarat-road-grid{gap:2px;min-height:90px;padding-bottom:1px;display:flex;overflow:auto hidden}.baccarat-road-column{grid-template-rows:repeat(6,12px);gap:1px;display:grid}.baccarat-road-empty{color:#94a3b8;font-size:11px}.baccarat-road-dot{color:#fff;box-sizing:border-box;border-radius:999px;justify-content:center;align-items:center;width:12px;height:12px;font-size:7px;font-weight:800;display:inline-flex}.baccarat-road-dot.empty{background:#f8fafc;border:1px dashed #cbd5e1}.baccarat-road-dot.filled{border:1px solid #0f172a14}.baccarat-road-dot.player{background:#2563eb}.baccarat-road-dot.banker{background:#ef4444}.baccarat-road-dot.tie{background:#16a34a}@keyframes baccarat-deal-in{0%{opacity:0;filter:brightness(.88);transform:translateY(-18px)translate(6px)rotate(-6deg)scale(.9)}55%{opacity:1;filter:brightness(1.03);transform:translateY(2px)translate(-1px)rotate(1deg)scale(1.02)}to{opacity:1;filter:brightness();transform:translateY(0)translate(0)rotate(0)scale(1)}}@keyframes baccarat-bet-win-pulse{0%{filter:brightness();transform:translateY(0)scale(1)}50%{filter:brightness(1.12);transform:translateY(-1px)scale(1.02)}to{filter:brightness();transform:translateY(0)scale(1)}}.daisai-game{background:#e5e7eb;border-radius:10px;margin-top:12px;padding:12px 10px 14px;box-shadow:0 2px 6px #94a3b859,0 0 0 1px #9ca3af}.daisai-header{flex-direction:column;gap:4px;margin-bottom:10px;display:flex}.daisai-title{letter-spacing:-.03em;color:#111827;margin:0;font-size:15px;font-weight:700}.daisai-subtitle{color:#4b5563;margin:0;font-size:12px}.daisai-bet-config{color:#374151;flex-direction:column;gap:4px;margin-top:4px;font-size:11px;display:flex}.daisai-chip-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;display:flex}.daisai-chip-custom{flex-direction:row;flex:160px;align-items:center;min-width:140px;max-width:320px;height:26px;display:inline-flex}.daisai-chip-custom-input{font-variant-numeric:tabular-nums;color:#111827;box-sizing:border-box;text-align:center;background:#fff;border:1px solid #cbd5e1;border-radius:8px;width:100%;min-width:0;height:24px;padding:0 6px;font-size:12px;font-weight:800}.daisai-chip-custom-input:focus{border-color:#fb923c;outline:none}.daisai-chip-custom-input--on{background:#fffbeb;border-color:#f97316;box-shadow:0 0 0 2px #f9731633}.daisai-chip-custom-input:disabled{opacity:.55;cursor:not-allowed}.daisai-chip{color:#7c2d12;cursor:pointer;background:radial-gradient(circle at 30% 20%,#fff,#fed7aa);border:1px solid #fed7aa;border-radius:999px;min-width:32px;height:26px;font-size:11px;font-weight:700;box-shadow:0 2px 4px #f8711659}.daisai-chip--1{color:#111827;background:radial-gradient(circle at 30% 20%,#fff,#e5e7eb);border-color:#e5e7eb;box-shadow:0 2px 4px #94a3b880}.daisai-chip--2{color:#0b1120;background:radial-gradient(circle at 30% 20%,#eff6ff,#60a5fa);border-color:#bfdbfe;box-shadow:0 2px 4px #3b82f68c}.daisai-chip--5{color:#022c22;background:radial-gradient(circle at 30% 20%,#ecfdf5,#22c55e);border-color:#a7f3d0;box-shadow:0 2px 4px #10b98199}.daisai-chip--10{color:#7c2d12;background:radial-gradient(circle at 30% 20%,#fff7ed,#fb923c);border-color:#fed7aa;box-shadow:0 2px 4px #f8711699}.daisai-chip--25{color:#831843;background:radial-gradient(circle at 30% 20%,#fdf2ff,#ec4899);border-color:#f9a8d4;box-shadow:0 2px 4px #ec489999}.daisai-chip--50{color:#78350f;background:radial-gradient(circle at 30% 20%,#fffbeb,#eab308);border-color:#fde68a;box-shadow:0 2px 4px #eab30899}.daisai-chip--100{color:#312e81;background:radial-gradient(circle at 30% 20%,#f5f3ff,#8b5cf6);border-color:#c4b5fd;box-shadow:0 2px 4px #818cf899}.daisai-chip--on{color:#111827;background:radial-gradient(circle at 30% 20%,#fef3c7,#f97316);border-color:#fb923c}.daisai-layout{grid-template-columns:minmax(0,1fr);gap:10px;margin-top:8px;display:grid}.daisai-table{color:#111827;background:#f9fafb;border:2px solid #111827;border-radius:6px;padding:6px;box-shadow:inset 0 0 0 1px #111827}.daisai-row{gap:4px;display:flex}.daisai-row+.daisai-row{margin-top:6px}.daisai-cell--half{min-height:0;padding-top:3px;padding-bottom:3px}.daisai-row--main .daisai-cell--big,.daisai-row--main .daisai-cell--small{flex:4 4 0}.daisai-row--main .daisai-cell--odd,.daisai-row--main .daisai-cell--even,.daisai-row--mid .daisai-cell{flex:1 1 0}.daisai-row--totals{flex-wrap:nowrap;overflow-x:auto}.daisai-row--totals .daisai-cell{flex:0 0 calc(14.2857% - 4px)}.daisai-row--triples,.daisai-row--doubles,.daisai-row--singles{flex-wrap:wrap}.daisai-row--triples .daisai-cell,.daisai-row--doubles .daisai-cell,.daisai-row--singles .daisai-cell{flex:calc(16.6667% - 4px)}.daisai-cell{color:#000;cursor:pointer;box-sizing:border-box;background:#fff;border:1px solid #000;border-radius:2px;flex-direction:column;justify-content:space-between;align-items:center;min-height:44px;padding:4px 2px 3px;transition:background-color .12s,border-color .12s,transform 80ms;display:flex;position:relative}.daisai-cell:hover{background-color:#f9fafb}.daisai-cell--on{background-color:#fee2e2;border-color:#b91c1c}.daisai-cell--win{animation:.6s ease-in-out infinite alternate daisai-cell-win-pulse;box-shadow:0 0 0 1px #fafafa66,0 0 18px #fafafad9,0 0 32px #facc15e6}@keyframes daisai-cell-win-pulse{0%{filter:brightness();transform:translateY(0)}50%{filter:brightness(1.15);transform:translateY(-1px)}to{filter:brightness(1.05);transform:translateY(0)}}.daisai-cell-title{font-size:13px;font-weight:800}.daisai-cell-sub{color:#111827;margin-top:1px;font-size:9px}.daisai-cell-odds{color:#000;margin-top:2px;font-size:9px;font-weight:700}.daisai-triple-odds,.daisai-double-odds{margin-top:0}.daisai-triple-odds{margin-top:-3px}.daisai-cell-bet{color:#b91c1c;margin-top:2px;font-size:10px;font-weight:700}.daisai-cell--big,.daisai-cell--small{text-align:left}.daisai-cell--triple{background:#fff;min-height:30px;padding-top:2px;padding-bottom:2px}.daisai-cell--total{text-align:center;align-items:center}.daisai-cell--double{background:#fff}.daisai-cell--single{text-align:center;justify-content:center;align-items:center;min-height:64px}.daisai-row--singles .daisai-cell-odds{margin-top:4px}.daisai-row--singles .daisai-cell-bet{margin-top:2px}.daisai-triple-dice{grid-template-rows:repeat(2,1fr);grid-template-columns:repeat(3,1fr);place-items:center;gap:0 1px;margin-bottom:0;display:grid}.daisai-double-dice{justify-content:center;align-items:center;gap:3px;margin-bottom:2px;display:flex}.daisai-single-dice{transform-origin:50%;justify-content:center;align-items:center;margin-bottom:2px;display:flex;transform:scale(1.4)}.daisai-mini-die{box-sizing:border-box;border:1px solid #000;border-radius:2px;grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(3,1fr);width:14px;height:14px;padding:1px;display:grid}.daisai-mini-pip{background:0 0;border-radius:999px;width:3px;height:3px;margin:auto}.daisai-mini-die--1 .daisai-mini-pip:nth-child(5),.daisai-mini-die--2 .daisai-mini-pip:first-child,.daisai-mini-die--2 .daisai-mini-pip:nth-child(9),.daisai-mini-die--3 .daisai-mini-pip:first-child,.daisai-mini-die--3 .daisai-mini-pip:nth-child(5),.daisai-mini-die--3 .daisai-mini-pip:nth-child(9),.daisai-mini-die--4 .daisai-mini-pip:first-child,.daisai-mini-die--4 .daisai-mini-pip:nth-child(3),.daisai-mini-die--4 .daisai-mini-pip:nth-child(7),.daisai-mini-die--4 .daisai-mini-pip:nth-child(9),.daisai-mini-die--5 .daisai-mini-pip:first-child,.daisai-mini-die--5 .daisai-mini-pip:nth-child(3),.daisai-mini-die--5 .daisai-mini-pip:nth-child(5),.daisai-mini-die--5 .daisai-mini-pip:nth-child(7),.daisai-mini-die--5 .daisai-mini-pip:nth-child(9),.daisai-mini-die--6 .daisai-mini-pip:first-child,.daisai-mini-die--6 .daisai-mini-pip:nth-child(4),.daisai-mini-die--6 .daisai-mini-pip:nth-child(7),.daisai-mini-die--6 .daisai-mini-pip:nth-child(3),.daisai-mini-die--6 .daisai-mini-pip:nth-child(6),.daisai-mini-die--6 .daisai-mini-pip:nth-child(9){background:#000}.daisai-help-inline{color:#b91c1c;text-align:center;margin-top:4px;font-size:11px;font-weight:600}.daisai-dice-area{background:linear-gradient(145deg,#f9fafb,#e5e7eb);border:1px solid #d4d4d8;border-radius:10px;padding:8px 10px 10px}.daisai-dice-row{justify-content:center;align-items:center;gap:8px;margin-bottom:6px;display:flex}.daisai-die{color:#111827;background:radial-gradient(circle at 30% 30%,#fff,#d1d5db);border-radius:12px;justify-content:center;align-items:center;width:40px;height:40px;font-size:20px;font-weight:800;display:flex;box-shadow:0 4px 10px #0f172a73,inset 0 1px #ffffff80}.daisai-die--rolling{animation:.35s linear infinite daisai-die-roll}@keyframes daisai-die-roll{0%{transform:translateY(0)rotate(0)}25%{transform:translateY(-2px)rotate(90deg)}50%{transform:translateY(1px)rotate(180deg)}75%{transform:translateY(-1px)rotate(270deg)}to{transform:translateY(0)rotate(360deg)}}.daisai-dice-sum{color:#111827;text-align:center;margin:0;font-size:12px;font-weight:600}.daisai-last-result{color:#374151;text-align:center;margin:4px 0 0;font-size:11px;font-weight:500;line-height:1.35}.daisai-auto-timer{color:#6b7280;text-align:center;margin:2px 0 0;font-size:11px;font-weight:500}.daisai-roll-button{display:none}.daisai-roll-button:disabled{opacity:.55;cursor:default;box-shadow:none}.daisai-help{display:none}.daisai-clear-button{color:#374151;cursor:pointer;white-space:nowrap;background:linear-gradient(135deg,#fff,#e5e7eb);border:1px solid #e5e7eb;border-radius:999px;padding:4px 10px;font-size:11px;font-weight:600;box-shadow:0 2px 4px #94a3b873}.daisai-clear-button:disabled{opacity:.5;cursor:default;box-shadow:none}.daisai-rebet-button{color:#1e3a8a;cursor:pointer;white-space:nowrap;background:linear-gradient(135deg,#eff6ff,#bfdbfe);border:1px solid #bfdbfe;border-radius:999px;margin-left:8px;padding:4px 10px;font-size:11px;font-weight:600;box-shadow:0 2px 4px #3b82f659}.daisai-rebet-button:disabled{opacity:.5;cursor:default;box-shadow:none}.secret-shop-page{--shop-bg:#f4f6f9;--shop-card:#fff;--shop-accent:#ea580c;--shop-accent-soft:#fff7ed;--shop-text:#0f172a;--shop-muted:#64748b;--shop-border:#e8ecf1;--shop-shadow:0 2px 8px #0f172a0f;--shop-shadow-hover:0 12px 28px #0f172a1a;box-sizing:border-box;background:var(--shop-bg);max-width:560px;min-height:100%;margin:0 auto;padding:0 0 96px}.secret-shop-hero{background:linear-gradient(165deg,#1e1b4b 0%,#312e81 42%,#4c1d95 100%);border-radius:0 0 20px 20px;margin-bottom:12px;padding:20px 16px 0;position:relative;box-shadow:0 8px 24px #312e8140}.secret-shop-hero--locked{margin-bottom:16px}.secret-shop-hero-inner{padding-bottom:16px}.secret-shop-title{letter-spacing:-.05em;color:#faf5ff;margin:0 0 8px;font-size:22px;font-weight:800}.secret-shop-sub{color:#e2e8f0eb;margin:0;font-size:13px;line-height:1.55}.secret-shop-sub-line{display:block}.secret-shop-sub-line+.secret-shop-sub-line{margin-top:4px}.secret-shop-balance-bar{background:var(--shop-card);border:1px solid var(--shop-border);box-shadow:var(--shop-shadow);border-bottom:none;border-radius:14px 14px 0 0;justify-content:space-between;align-items:center;gap:12px;margin:0 -4px;padding:12px 14px;display:flex}.secret-shop-balance-label{color:var(--shop-muted);font-size:12px;font-weight:600}.secret-shop-balance-value{letter-spacing:-.03em;color:var(--shop-accent);font-variant-numeric:tabular-nums;font-size:20px;font-weight:800}.secret-shop-balance-unit{margin-left:2px;font-size:14px;font-weight:700}.secret-shop-hero--locked .secret-shop-hero-inner{padding-bottom:20px}.secret-shop-locked{background:var(--shop-card);border:1px solid var(--shop-border);box-shadow:var(--shop-shadow);text-align:center;border-radius:16px;margin:0 16px;padding:22px 18px}.secret-shop-locked-title{color:var(--shop-text);margin:0 0 8px;font-size:16px;font-weight:800}.secret-shop-locked-desc{color:var(--shop-muted);margin:0 0 12px;font-size:13px;line-height:1.55}.secret-shop-locked-balance{color:var(--shop-text);margin:0;font-size:14px}.secret-shop-locked-balance strong{color:var(--shop-accent);font-weight:800}.secret-shop-empty-wrap{background:var(--shop-card);border:1px dashed var(--shop-border);border-radius:16px;margin:0 16px;padding:48px 16px}.secret-shop-empty{text-align:center;color:var(--shop-muted);margin:0;font-size:14px}.secret-shop-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:12px 16px 0;display:grid}.secret-shop-card{background:var(--shop-card);border:1px solid var(--shop-border);box-shadow:var(--shop-shadow);border-radius:14px;flex-direction:column;margin:0;transition:transform .2s,box-shadow .2s;display:flex;overflow:hidden}.secret-shop-card:hover{box-shadow:var(--shop-shadow-hover);transform:translateY(-2px)}@media (prefers-reduced-motion:reduce){.secret-shop-card:hover{transform:none}}.secret-shop-card-media{aspect-ratio:1;background:linear-gradient(#f8fafc 0%,#f1f5f9 100%);position:relative;overflow:hidden}.secret-shop-img{object-fit:cover;width:100%;height:100%;display:block}.secret-shop-img-placeholder{color:#94a3b8;background:#f1f5f9;justify-content:center;align-items:center;width:100%;height:100%;font-size:11px;font-weight:600;display:flex}.secret-shop-card-tag{color:#7c2d12;background:#fffffff2;border-radius:6px;padding:3px 8px;font-size:10px;font-weight:700;position:absolute;top:8px;left:8px;box-shadow:0 1px 4px #00000014}.secret-shop-card-body{flex-direction:column;flex:1;gap:6px;min-height:0;padding:10px 10px 12px;display:flex}.secret-shop-name{color:var(--shop-text);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:13px;font-weight:700;line-height:1.35;display:-webkit-box;overflow:hidden}.secret-shop-desc{color:var(--shop-muted);white-space:pre-wrap;word-break:break-word;-webkit-line-clamp:2;-webkit-box-orient:vertical;flex:1;margin:0;font-size:11px;line-height:1.4;display:-webkit-box;overflow:hidden}.secret-shop-card-footer{flex-direction:column;gap:8px;margin-top:4px;display:flex}.secret-shop-price-block{flex-direction:column;gap:2px;display:flex}.secret-shop-price-label{color:#94a3b8;letter-spacing:.02em;font-size:10px;font-weight:600}.secret-shop-price{letter-spacing:-.03em;color:var(--shop-accent);font-variant-numeric:tabular-nums;font-size:16px;font-weight:800}.secret-shop-price-unit{margin-left:1px;font-size:12px;font-weight:700}.secret-shop-buy{cursor:pointer;color:#fff;background:linear-gradient(#f97316 0%,#ea580c 100%);border:none;border-radius:10px;width:100%;padding:10px 12px;font-size:13px;font-weight:700;box-shadow:0 2px 8px #ea580c59}.secret-shop-buy:hover:not(:disabled){filter:brightness(1.05)}.secret-shop-buy:active:not(:disabled){transform:scale(.98)}.secret-shop-buy:disabled{color:#94a3b8;box-shadow:none;cursor:not-allowed;background:#e2e8f0}@media (prefers-reduced-motion:reduce){.secret-shop-buy:active:not(:disabled){transform:none}}
