.login-panel[data-v-a84838c6]{margin-bottom:20px}.login-panel h2[data-v-a84838c6]{font-size:1.3rem}.logged-in-bar[data-v-a84838c6]{align-items:baseline;gap:12px;display:flex}.user-name[data-v-a84838c6]{color:#60a5fa;flex:1;font-size:.85rem;font-weight:500}@media (width<=480px){.login-panel h2[data-v-a84838c6]{font-size:1.1rem}.logged-in-bar[data-v-a84838c6]{flex-wrap:wrap}}.calendar[data-v-218bcd8d]{-webkit-user-select:none;user-select:none;margin-bottom:16px}.cal-header[data-v-218bcd8d]{justify-content:center;align-items:center;gap:16px;margin-bottom:8px;display:flex;position:relative}.month-picker-overlay[data-v-218bcd8d]{z-index:100;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.month-picker[data-v-218bcd8d]{background:#1e1e1e;border:1px solid #444;border-radius:10px;min-width:260px;padding:16px}.month-picker-year[data-v-218bcd8d]{justify-content:center;align-items:center;gap:16px;margin-bottom:12px;font-size:1.1rem;font-weight:700;display:flex}.month-grid[data-v-218bcd8d]{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.month-cell[data-v-218bcd8d]{text-align:center;cursor:pointer;color:#ccc;border-radius:6px;padding:10px 0;font-size:.9rem;transition:all .15s}.month-cell[data-v-218bcd8d]:hover{color:#fff;background:#2a2a2a}.month-cell.active[data-v-218bcd8d]{color:#93c5fd;background:#1e3a5f;font-weight:700}.cal-title[data-v-218bcd8d]{text-align:center;min-width:120px;font-size:1.3rem;font-weight:700}.nav-btn[data-v-218bcd8d]{color:#eee;cursor:pointer;background:#333;border:1px solid #555;border-radius:6px;padding:6px 14px;font-size:1rem;transition:background .2s}.nav-btn[data-v-218bcd8d]:hover{background:#444}.legend[data-v-218bcd8d]{flex-wrap:wrap;justify-content:center;gap:14px;margin-bottom:12px;display:flex}.legend-item[data-v-218bcd8d]{color:#999;align-items:center;gap:4px;font-size:.7rem;display:inline-flex}.dot[data-v-218bcd8d]{border-radius:3px;width:10px;height:10px;display:inline-block}.dot-selected[data-v-218bcd8d]{background:#3b82f6}.dot-registered[data-v-218bcd8d]{background:#22c55e}.dot-leave[data-v-218bcd8d]{background:#f59e0b}.dot-half-leave[data-v-218bcd8d]{background:linear-gradient(135deg,#f59e0b 50%,#1e1e1e 50%)}.dot-holiday[data-v-218bcd8d]{background:#ef4444}.dot-preview[data-v-218bcd8d]{opacity:.4;background:#3b82f6;border:1px dashed #3b82f6}.cal-grid[data-v-218bcd8d]{grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;display:grid}.day-header[data-v-218bcd8d]{text-align:center;color:#bbb;padding:8px 4px;font-size:.85rem;font-weight:600}.day-header.sunday[data-v-218bcd8d]{color:#f87171}.day-header.saturday[data-v-218bcd8d]{color:#60a5fa}.day-cell[data-v-218bcd8d]{text-align:center;cursor:pointer;background:#1e1e1e;border:2px solid #0000;border-radius:6px;min-width:0;min-height:48px;padding:10px 6px;transition:all .15s;position:relative;overflow:hidden}.day-cell[data-v-218bcd8d]:hover:not(.disabled){background:#2a2a2a}.day-cell .day-number[data-v-218bcd8d]{font-size:.95rem;font-weight:500}.day-cell.sunday .day-number[data-v-218bcd8d]{color:#f87171}.day-cell.saturday .day-number[data-v-218bcd8d]{color:#60a5fa}.day-cell.other-month[data-v-218bcd8d]{cursor:default;background:#141414}.day-cell.other-month .day-number[data-v-218bcd8d]{color:#444}.day-cell.weekend[data-v-218bcd8d]{cursor:default;background:#161616}.day-cell.selected[data-v-218bcd8d]{background:#1e3a5f;border-color:#3b82f6}.day-cell.selected .day-number[data-v-218bcd8d]{color:#93c5fd;font-weight:700}.day-cell.preview[data-v-218bcd8d]{background:#1a2a40;border-style:dashed;border-color:#3b82f6}.day-cell.preview .day-number[data-v-218bcd8d]{color:#7db8f0}.day-cell.reg-work[data-v-218bcd8d]{background:#14532d;border-color:#22c55e}.day-cell.reg-work .day-number[data-v-218bcd8d]{color:#86efac}.day-cell.reg-leave[data-v-218bcd8d]{background:#451a03;border-color:#f59e0b}.day-cell.reg-leave .day-number[data-v-218bcd8d]{color:#fcd34d}.day-cell.reg-half-leave[data-v-218bcd8d]{background:linear-gradient(135deg,#451a03 50%,#14532d 50%);border-color:#d97706}.day-cell.reg-half-leave .day-number[data-v-218bcd8d]{color:#fbbf24}.day-cell.holiday[data-v-218bcd8d]{background:#2a1515;border-color:#7f1d1d}.day-cell.holiday .day-number[data-v-218bcd8d]{color:#fca5a5}.day-cell.disabled[data-v-218bcd8d]{cursor:default}.holiday-name[data-v-218bcd8d]{color:#fca5a5;text-overflow:ellipsis;white-space:nowrap;max-width:100%;margin-top:1px;padding:0 1px;font-size:.5rem;line-height:1.1;display:block;overflow:hidden}.entry-badge[data-v-218bcd8d]{text-align:center;border-radius:50%;width:15px;height:15px;font-size:.55rem;font-weight:700;line-height:15px;position:absolute;bottom:2px;right:4px}.badge-work[data-v-218bcd8d]{color:#bbf7d0;background:#166534}.badge-leave[data-v-218bcd8d]{color:#fef3c7;background:#92400e}.badge-half-leave[data-v-218bcd8d]{color:#fde68a;background:#78350f}@media (width<=480px){.cal-title[data-v-218bcd8d]{font-size:1.1rem}.nav-btn[data-v-218bcd8d]{padding:6px 10px;font-size:.9rem}.legend[data-v-218bcd8d]{gap:8px}.legend-item[data-v-218bcd8d]{font-size:.6rem}.dot[data-v-218bcd8d]{width:8px;height:8px}.day-header[data-v-218bcd8d]{padding:8px 2px;font-size:.75rem}.day-cell[data-v-218bcd8d]{touch-action:none;border-width:1.5px;border-radius:4px;min-height:44px;padding:8px 2px}.day-cell .day-number[data-v-218bcd8d]{font-size:.85rem;font-weight:600}.holiday-name[data-v-218bcd8d]{font-size:.4rem}.entry-badge[data-v-218bcd8d]{width:12px;height:12px;font-size:.45rem;line-height:12px;bottom:1px;right:1px}}.detail-row td{background:#ffffff05!important}.spinner-overlay[data-v-ccbff8db]{z-index:9999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000b3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.spinner-content[data-v-ccbff8db]{flex-direction:column;align-items:center;display:flex}*{box-sizing:border-box;margin:0;padding:0}body{color:#eee;background:#101014;min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}#app{padding:20px}.container{max-width:750px;margin:0 auto}@media (width<=480px){#app{padding:12px 8px}}
