@font-face{font-display:swap;font-family:PretendardVariable;font-style:normal;font-weight:100 900;src:url(/static/media/PretendardVariable.c89dc775feed56569658.ttf) format("truetype")}:root{--font-family-primary:"PretendardVariable",-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;--font-family-code:"PretendardVariable",source-code-pro,Menlo,Monaco,Consolas,"Courier New",monospace;--text-color:#222;--panel-background:#f9f9f9;--border-color:#eee;--button-primary-bg:#22c55e;--button-secondary-bg:#e0e0e0;--button-secondary-text:#333;--header-bg:#f8f9fa;--today-highlight-bg:#87cefa4d;--event-block-bg:#e0e0e0;--memo-bubble-current-user-bg:#dcf8c6;--memo-bubble-other-user-bg:#f0f0f0;--button-warning-bg:#fbbf24;--button-warning-text:#fff;--button-danger-bg:#ef4444;--button-danger-text:#fff;--hover-bg-color:#f3f4f6}[data-theme=dark]{--background-color:#1a1a1a;--text-color:#e0e0e0;--panel-background:#2c2c2c;--border-color:#444;--button-primary-bg:#22a55e;--button-primary-text:#fff;--button-secondary-bg:#4a4a4a;--button-secondary-text:#e0e0e0;--header-bg:#252525;--today-highlight-bg:#64a0c866;--event-block-bg:#3a3a3a;--memo-bubble-current-user-bg:#075e54;--memo-bubble-other-user-bg:#303030;--button-warning-bg:#f59e0b;--button-warning-text:#fff;--button-danger-bg:#dc2626;--button-danger-text:#fff;--hover-bg-color:#374151;--input-bg:#374151}#root,body,html{background-color:#fff;background-color:var(--background-color);color:#222;color:var(--text-color);min-width:0;overscroll-behavior:none;-webkit-overscroll-behavior:none;overscroll-behavior-x:none;-webkit-overscroll-behavior-x:none;overscroll-behavior-y:none;-webkit-overscroll-behavior-y:none;transition:background-color .3s,color .3s;width:100%}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:PretendardVariable,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-family:var(--font-family-primary)}body,code{font-weight:400}code{font-family:PretendardVariable,source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace;font-family:var(--font-family-code)}*,.btn,.form-control,.modal-content,a,body,button,code,div,h1,h2,h3,h4,h5,h6,html,input,label,p,pre,select,span,td,textarea,th{font-family:PretendardVariable!important;font-weight:400!important}::-webkit-scrollbar{background:#0000!important;width:0!important}html{scrollbar-width:none!important}#root,body,html{margin:0!important;padding:0!important;width:100%!important}#root,.custom-calendar-wrapper,body,html{height:100vh!important;max-height:100vh!important;overflow:hidden!important}*{-ms-overflow-style:none!important;scrollbar-width:none!important}::-webkit-scrollbar{display:none!important}.memo-scroll-container{overscroll-behavior:auto!important;-webkit-overscroll-behavior:auto!important;overscroll-behavior-y:auto!important;-webkit-overscroll-behavior-y:auto!important;scrollbar-color:#0000004d #0000!important;scrollbar-width:thin!important;touch-action:pan-y!important}.memo-scroll-container::-webkit-scrollbar{display:block!important;height:8px!important;width:8px!important}.memo-scroll-container::-webkit-scrollbar-track{background:#0000!important;border-radius:4px!important}.memo-scroll-container::-webkit-scrollbar-thumb{background:#0000004d!important;border:none!important;border-radius:4px!important}.memo-scroll-container::-webkit-scrollbar-thumb:hover{background:#00000080!important}:root[data-theme=dark] .memo-scroll-container{scrollbar-color:#ffffff4d #0000!important}:root[data-theme=dark] .memo-scroll-container::-webkit-scrollbar-thumb{background:#ffffff4d!important}:root[data-theme=dark] .memo-scroll-container::-webkit-scrollbar-thumb:hover{background:#ffffff80!important}.calendar-grid-container{-ms-overflow-style:none!important;scrollbar-width:none!important}.calendar-grid-container::-webkit-scrollbar{display:none!important}:root{--background-color:#fff;--background-color-other-month:#f8f9fa;--hover-bg-color:#f1f5f9;--text-color:#212529;--text-color-secondary:#868e96;--contrast-dark-text:#000;--contrast-light-text:#fff;--border-color:#e9ecef;--panel-background:#fff;--panel-shadow:-2px 0 16px #00000014;--header-bg:#f0f2f7cc;--button-primary-bg:#271a47;--button-primary-text:#fff;--button-secondary-bg:#f1f3f5;--button-secondary-text:#495057;--today-highlight-bg:#271a47;--sunday-color:#fa5252;--saturday-color:#4c6ef5;--holiday-color:#fa5252;--input-bg:#fff;--appbar-logo-color:#22c55e;--appbar-profile-bg:#e5e7eb;--appbar-profile-text:var(--appbar-logo-color);--appbar-profile-border:var(--background-color);--modal-overlay-bg:#0000004d;--profile-bg:#fff;--profile-border:#e9ecef;--profile-icon-color:#495057;--profile-shadow:0 1px 3px #0000001a}:root[data-theme=dark]{--background-color:#212529;--background-color-other-month:#343a40;--hover-bg-color:#495057;--text-color:#f8f9fa;--text-color-secondary:#adb5bd;--border-color:#495057;--panel-background:#2c2c2e;--panel-shadow:-2px 0 16px #00000080;--header-bg:#212529cc!important;--button-primary-bg:#91a7ff;--button-primary-text:var(--contrast-light-text);--button-secondary-bg:#495057;--button-secondary-text:var(--contrast-light-text);--today-highlight-bg:#495057;--sunday-color:#ff8787;--saturday-color:#91a7ff;--holiday-color:#ff8787;--input-bg:#343a40;--appbar-profile-bg:#495057;--appbar-profile-text:var(--appbar-logo-color);--appbar-profile-border:var(--background-color);--modal-overlay-bg:#000000b3;--profile-bg:#2d2d2d;--profile-border:#404040;--profile-icon-color:#fff;--profile-shadow:0 1px 3px #0000004d}*{box-sizing:border-box}*,body,html{touch-action:manipulation}body,html{-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}input,textarea{-webkit-user-select:text;user-select:text}#root,body,html{-webkit-overflow-scrolling:touch;width:100vw}#root,.custom-calendar-wrapper,body,html{margin:0;max-width:100vw;min-height:100vh;overflow-x:hidden;padding:0;position:relative}.custom-calendar-wrapper{background:#fff;background:var(--background-color);box-sizing:border-box;display:flex;flex-direction:row;font-family:PretendardVariable,sans-serif;font-family:var(--font-family-primary,"PretendardVariable",sans-serif);height:100vh;overflow-y:auto;width:100%}.custom-calendar-wrapper.auto-height{height:auto;min-height:100vh;width:100%}.calendar-content-area{-webkit-overflow-scrolling:touch;box-sizing:border-box!important;display:flex;flex-direction:column;flex-grow:1;height:100vh;max-width:100vw;overflow-x:hidden!important;touch-action:manipulation;transition:margin-right .15s cubic-bezier(.4,0,.2,1);width:100%}.custom-calendar-wrapper.auto-height .calendar-content-area{height:auto;min-height:100vh;width:100%}.calendar-content-area[style*="margin-right: 400px"],.calendar-content-area[style*=margin-right][style*=px]:not([style*="margin-right: 0px"]){max-width:calc(100vw - 400px)!important;width:calc(100vw - 400px)!important}.calendar-appbar{flex-shrink:0}.calendar-appbar.calendar-appbar-flex{align-items:center;background:#f0f2f7cc;background:var(--header-bg);border-bottom:1px solid #e9ecef;border-bottom:1px solid var(--border-color);box-shadow:none;display:flex;height:64px;left:0;margin:0;margin-bottom:0!important;overflow:visible;padding:0;padding-bottom:0!important;top:0;z-index:2000}.appbar-inner{box-sizing:border-box;justify-content:space-between;max-width:100%;min-width:100%;width:100%}.appbar-inner,.appbar-left-flex{align-items:center;display:flex;height:64px}.appbar-left-flex{gap:18px;margin-left:0}.appbar-logo{color:#22c55e;color:var(--appbar-logo-color);font-size:26px;font-weight:800;letter-spacing:1px}.appbar-month{color:#212529;color:var(--text-color);font-size:20px;font-weight:700;margin-left:5px;margin-right:10px}.calendar-grid-outer{max-width:100%;width:100%}.calendar-grid,.calendar-grid-outer{display:flex;flex:1 1;flex-direction:column;min-height:0}.calendar-grid{height:100%}.calendar-header-white{background:#f0f2f7cc!important;background:var(--header-bg)!important}.calendar-row{display:flex;flex:1 1;max-width:100%;min-height:0;width:100%}.calendar-row.auto-height{flex:1 1 auto;height:auto;min-height:80px}.calendar-row.calendar-header{background:#f0f2f7cc;background:var(--header-bg);border-left:1px solid #e9ecef;border-left:1px solid var(--border-color);border-top:none!important;box-shadow:none!important;flex:none;height:32px;margin-top:0!important;margin:0 0 0 .5px;max-height:32px;min-height:32px;overflow:hidden;padding-top:0!important;padding:0;position:sticky;z-index:1001}.calendar-row:not(.calendar-header){flex:1 1;min-height:0}.calendar-cell.header{align-items:center!important;background:#f0f2f7cc;border-bottom:1px solid #e9ecef;border-bottom:1px solid var(--border-color);border-right:1px solid #e9ecef;border-right:1px solid var(--border-color);font-size:15px;font-weight:700;justify-content:center!important;letter-spacing:.5px;min-height:32px;padding:0 6px;text-align:center}[data-theme=dark] .calendar-cell.header{background:#0000!important}.calendar-cell{align-items:flex-start;background:#fff;background:var(--background-color);border:1px solid #e9ecef;border:1px solid var(--border-color);box-sizing:border-box;display:flex;flex:1 1;flex-direction:column;font-size:1.1rem;max-width:14.28571%;min-height:0;min-width:0;padding:8px 6px 2px}.calendar-cell.auto-height{height:auto;min-height:auto}.calendar-cell:hover{background:#f1f5f9;background:var(--hover-bg-color)}.calendar-cell.other{background:#f8f9fa;background:var(--background-color-other-month);color:#868e96;color:var(--text-color-secondary)}.cell-date{font-weight:600;margin-bottom:4px}.cell-events{display:flex;flex:1 1;flex-direction:column;overflow:hidden;width:100%}.calendar-cell.auto-height .cell-events{flex:none;height:auto;overflow:visible}.event-block{align-items:center;background:#3b82f6;border:none;border-radius:4px;box-shadow:none;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:12px;font-size:var(--event-font-size-desktop,12px);font-weight:700!important;height:16px!important;height:var(--event-height-desktop,16px)!important;margin-bottom:2px;margin:1px 0!important;max-width:100%;min-height:14px!important;min-height:var(--event-min-height-desktop,14px)!important;padding:0 6px;word-break:break-all}.event-block:hover{filter:brightness(1.2)}.side-panel{-webkit-overflow-scrolling:touch;background:#fff;background:var(--panel-background);border-left:1px solid #e9ecef;border-left:1px solid var(--border-color);box-shadow:-2px 0 16px #00000014;box-shadow:var(--panel-shadow);display:flex;flex-direction:column;flex-shrink:0;gap:16px;height:100vh;padding:24px;touch-action:manipulation;transform:translateZ(0);transition:transform .15s cubic-bezier(.4,0,.2,1);will-change:transform;z-index:1000}.add-btn{background:#22c55e;border:none;border-radius:50%;font-size:16px;height:22px;line-height:22px;padding:0;position:absolute;right:4px;top:4px;width:22px}.add-btn,.del-btn{color:#fff;cursor:pointer}.del-btn{background:#ef4444;border:none;border-radius:3px;font-size:11px;margin-left:6px;padding:1px 4px}.appbar-center{align-items:center;display:flex;gap:8px}.appbar-btn{background:#f1f3f5;background:var(--button-secondary-bg);border:none;border-radius:6px;color:#495057;color:var(--button-secondary-text);cursor:pointer;font-size:16px;font-weight:600;margin:0 2px;padding:7px 16px;transition:background .15s}.appbar-btn.active,.appbar-btn:hover{background:#22c55e;color:#fff}.appbar-right{align-items:center;display:flex;flex:none;gap:8px;height:64px;margin-right:4px;max-width:none;min-width:0;padding-right:0}.appbar-search{background:none;font-size:20px;padding:7px 10px}.appbar-profile-wrap{margin-left:4px;position:relative}.appbar-profile{align-items:center;background:#e5e7eb;background:var(--appbar-profile-bg);border:2px solid #fff;border:2px solid var(--appbar-profile-border);border-radius:50%;box-shadow:0 1px 4px #e5e7eb88;color:#22c55e;color:var(--appbar-profile-text);cursor:pointer;display:flex;font-size:20px;font-weight:700;height:38px;justify-content:center;transition:background .15s;width:38px}.appbar-profile:hover{background:#22c55e;color:#fff}.profile-menu{background:#fff;background:var(--panel-background);border:1px solid #e9ecef;border:1px solid var(--border-color);border-radius:8px;box-shadow:0 4px 16px #e5e7eb55;display:flex;flex-direction:column;min-width:120px;padding:8px 0;position:absolute;right:0;top:46px;z-index:3000}.profile-menu button{background:none;border:none;color:#212529;color:var(--text-color);cursor:pointer;font-size:15px;padding:10px 18px;text-align:left;transition:background .15s}.profile-menu button:hover{background:#f1f5f9;background:var(--hover-bg-color)}@media (max-width:900px){.custom-calendar-wrapper{height:100vh;min-height:100vh}.calendar-cell{font-size:.95rem;padding:6px 2px 2px}}.calendar-cell.auto-height .event-block{height:16px!important;height:var(--event-height-desktop,16px)!important;margin:1px 0!important;min-height:14px!important;min-height:var(--event-min-height-desktop,14px)!important}@media (max-width:600px),(max-width:768px) and (hover:none) and (pointer:coarse){html{-webkit-text-size-adjust:100%!important;-ms-text-size-adjust:100%!important;font-size:16px!important;height:100%!important;overflow:hidden!important;overscroll-behavior:none!important;-webkit-overscroll-behavior:none!important;overscroll-behavior-x:none!important;-webkit-overscroll-behavior-x:none!important;overscroll-behavior-y:none!important;-webkit-overscroll-behavior-y:none!important}html.has-expanded-cell{height:auto!important;max-height:none!important;min-height:100%!important;overflow:visible!important;overflow-y:auto!important}body{height:100vh!important;margin:0!important;max-height:100vh!important;max-width:100vw!important;overscroll-behavior:none!important;-webkit-overscroll-behavior:none!important;overscroll-behavior-x:none!important;-webkit-overscroll-behavior-x:none!important;overscroll-behavior-y:none!important;-webkit-overscroll-behavior-y:none!important;padding:0 0 env(safe-area-inset-bottom)!important;-webkit-user-select:none!important;user-select:none!important;width:100vw!important}body,body.has-expanded-cell{-webkit-overflow-scrolling:touch!important;overflow-x:hidden!important;overflow-y:auto!important;position:relative!important}body.has-expanded-cell{height:auto!important;max-height:none!important;min-height:auto!important;padding-bottom:calc(env(safe-area-inset-bottom) + 80px)!important}.custom-calendar-wrapper{-webkit-touch-callout:none;height:calc(100vh - env(safe-area-inset-bottom));margin:0!important;max-height:calc(100vh - env(safe-area-inset-bottom));max-width:100vw!important;min-height:calc(100vh - env(safe-area-inset-bottom));overflow-x:hidden!important;overflow-y:hidden!important;overscroll-behavior:none!important;-webkit-overscroll-behavior:none!important;overscroll-behavior-x:none!important;-webkit-overscroll-behavior-x:none!important;overscroll-behavior-y:none!important;-webkit-overscroll-behavior-y:none!important;padding:0!important;position:relative;touch-action:pan-y;-webkit-user-select:none;user-select:none;width:100vw!important}body.has-six-weeks .custom-calendar-wrapper{height:auto!important;max-height:none!important;min-height:calc(100vh + 40px - env(safe-area-inset-bottom))!important}body.has-expanded-cell.has-six-weeks .custom-calendar-wrapper,body.has-six-weeks .custom-calendar-wrapper.auto-height{min-height:calc(100vh + 115px - env(safe-area-inset-bottom))!important;overflow-y:auto!important}.calendar-content-area{height:100vh!important;margin-bottom:0!important;margin-left:0!important;margin-top:0!important;max-height:100vh!important;max-width:100vw!important;overflow-y:hidden!important;overscroll-behavior:none!important;-webkit-overscroll-behavior:none!important;overscroll-behavior-x:none!important;-webkit-overscroll-behavior-x:none!important;overscroll-behavior-y:none!important;-webkit-overscroll-behavior-y:none!important;width:100vw!important}.calendar-content-area,.calendar-row{box-sizing:border-box!important;overflow-x:hidden!important;padding:0!important}.calendar-row{margin:0!important;min-width:0!important;width:100%!important}.calendar-cell{flex:1 1!important;font-size:.75rem;min-width:0!important;padding:1px!important}.calendar-cell.auto-height{border-width:0 0 1px 1px!important;box-sizing:border-box!important;min-height:100px!important;padding-bottom:10px!important;position:relative!important}.custom-calendar-wrapper.auto-height:not(.has-six-weeks) .calendar-row:last-child .calendar-cell,body.has-expanded-cell:not(.has-six-weeks) .calendar-row:last-child .calendar-cell{padding-bottom:calc(10px + env(safe-area-inset-bottom))!important}body.has-six-weeks .calendar-row:last-child .calendar-cell{padding-bottom:calc(40px + env(safe-area-inset-bottom))!important}body.has-expanded-cell.has-six-weeks .calendar-row:last-child .calendar-cell,body.has-six-weeks .custom-calendar-wrapper.auto-height .calendar-row:last-child .calendar-cell{padding-bottom:calc(85px + env(safe-area-inset-bottom))!important}.calendar-cell.auto-height{height:auto!important;min-height:auto!important}.calendar-cell.header{align-items:center!important;border-width:0 0 1px 1px!important;box-sizing:border-box!important;flex:1 1!important;justify-content:center!important;min-width:0!important;padding:4px 0!important}.event-block{font-size:10px!important;font-size:var(--event-font-size-mobile,10px)!important;font-weight:700!important;height:16px;height:var(--event-height-mobile,16px);line-height:14px;line-height:var(--event-min-height-mobile,14px);margin:1.5px 0!important;min-height:14px;min-height:var(--event-min-height-mobile,14px);padding:0 2px}.event-block:last-of-type{margin-bottom:0!important}.calendar-cell.auto-height .event-block{height:16px!important;height:var(--event-height-mobile,16px)!important;margin:1.5px 0!important;min-height:14px!important;min-height:var(--event-min-height-mobile,14px)!important}body.has-expanded-cell .custom-calendar-wrapper{transform:none!important}body.has-expanded-cell .calendar-content-area,body.has-expanded-cell .custom-calendar-wrapper{height:auto!important;max-height:none!important;min-height:auto!important;overflow-x:hidden!important;overflow-y:auto!important}body.has-expanded-cell .calendar-grid-outer{min-height:auto!important}body.has-expanded-cell .calendar-grid,body.has-expanded-cell .calendar-grid-outer{height:auto!important;overflow-y:auto!important;position:relative!important;top:0!important}body.has-expanded-cell .calendar-appbar.calendar-appbar-flex{background:#f0f2f7cc!important;background:var(--header-bg)!important;border-bottom:1px solid #e9ecef!important;border-bottom:1px solid var(--border-color)!important;flex-shrink:0!important;height:64px!important;position:sticky!important;top:0!important;z-index:1000!important}body.has-expanded-cell .calendar-content-area,body.has-expanded-cell .custom-calendar-wrapper{position:relative!important;top:0!important}.appbar-inner{gap:2px!important;padding:0 12px!important}.appbar-left-flex{gap:4px;height:64px;margin-left:-8px}.appbar-logo{font-size:14px}.appbar-month{font-size:11px;margin-left:2px;margin-right:2px}.appbar-btn{border-radius:3px;font-size:11px;padding:2px 5px}.appbar-profile{background:#22c55e;border:1px solid #22c55e;color:#fff;font-size:16px;height:22px;width:22px}.profile-menu button{font-size:11px;padding:6px 8px}.calendar-appbar.calendar-appbar-flex{flex-shrink:0;height:64px}.appbar-inner,.appbar-left-flex{height:64px}.calendar-row.calendar-header{border-left:none!important;border-radius:0!important;box-sizing:border-box!important;display:block!important;flex-shrink:0;font-size:12px;height:32px!important;left:0!important;margin:0 0 -1px!important;max-height:32px!important;max-width:100%!important;min-height:32px!important;opacity:1!important;overflow:hidden!important;padding:0!important;position:relative!important;right:0!important;top:0;transform:translateX(1px)!important;visibility:visible!important;width:100%!important}.appbar-logo{font-size:16px}.appbar-btn,.appbar-month{font-size:12px}.appbar-btn{min-height:24px;min-width:28px;padding:2px 6px}.calendar-grid-outer{display:flex;flex:1 1;flex-direction:column;height:100vh;min-height:0;overflow:hidden}.custom-calendar-wrapper.auto-height .calendar-grid-outer{height:auto!important;max-height:calc(100vh - 96px);overflow-y:auto!important}.calendar-grid{display:flex;flex:1 1;flex-direction:column;height:100%;min-height:0}.custom-calendar-wrapper.auto-height .calendar-grid{height:auto!important;overflow-y:visible!important}.appbar-profile-wrap{margin-left:4px}.calendar-grid .calendar-row:first-child{margin-top:8px}.appbar-right{align-items:center;display:flex;gap:2px;height:64px;margin-right:-4px}.calendar-event{font-size:10px!important;height:18px!important;line-height:16px!important;margin:1px 0!important;min-height:16px!important;padding:1px 4px!important}.appbar-search{height:36px!important;margin-right:4px!important;width:36px!important}.appbar-profile{font-size:12px!important;height:28px!important;width:28px!important}.calendar-header .calendar-cell{align-items:center!important;border:none!important;border-bottom:1px solid #e9ecef!important;border-bottom:1px solid var(--border-color)!important;border-radius:0!important;box-sizing:border-box!important;display:flex!important;font-size:13px!important;font-weight:600!important;height:32px!important;justify-content:center!important;line-height:16px!important;margin:0!important;max-height:32px!important;min-height:32px!important;opacity:1!important;padding:8px 0!important;position:absolute!important;text-align:center!important;visibility:visible!important}.calendar-header .calendar-cell:first-child{left:0;width:14.28571%}.calendar-header .calendar-cell:nth-child(2){left:14.28571%;width:14.28571%}.calendar-header .calendar-cell:nth-child(3){left:28.57143%;width:14.28571%}.calendar-header .calendar-cell:nth-child(4){left:42.85714%;width:14.28571%}.calendar-header .calendar-cell:nth-child(5){left:57.14286%;width:14.28571%}.calendar-header .calendar-cell:nth-child(6){left:71.42857%;width:14.28571%}.calendar-header .calendar-cell:nth-child(7){left:85.71429%;width:14.28571%}.calendar-header .calendar-cell:not(:nth-child(7)):after{background-color:#e9ecef;background-color:var(--border-color);bottom:0;content:"";position:absolute;right:0;top:0;width:1px}.calendar-header .calendar-cell:last-child{border-radius:0!important;border-right:none!important;margin:0!important;padding:8px 0!important}.calendar-row:not(.calendar-header) .calendar-cell:not(:nth-child(7n)):after{background-color:#e9ecef;background-color:var(--border-color);bottom:0;content:"";position:absolute;right:0;top:0;width:1px}.calendar-row:not(.calendar-header):first-of-type .calendar-cell{border-top:1px solid #e9ecef!important;border-top:1px solid var(--border-color)!important}.panel-overlay{padding:0!important}.panel-content{height:100vh!important;max-width:none!important;overflow-y:auto!important;width:100%!important}.panel-content,.side-panel-register{border-radius:0!important;padding:0!important}.side-panel-register{border:none!important}.side-panel-register>div:not(.mobile-header){padding-left:20px!important;padding-right:20px!important}.search-overlay{padding:0!important}.search-content{border-radius:0!important;height:100%!important;padding:60px 20px 20px!important}.collapse-cell-btn{align-items:center;background:#fff;background:var(--background-color);border:1px solid #e9ecef;border:1px solid var(--border-color);border-radius:6px;cursor:pointer;display:block;display:flex;height:20px;justify-content:center;line-height:1;margin:6px auto 2px;padding:0;width:40px}.collapse-cell-btn:hover{background-color:#f1f5f9;background-color:var(--hover-bg-color)}.collapse-cell-btn svg{color:#868e96;color:var(--text-color-secondary)}.side-panel-detail{border-left:none!important;border-radius:0!important;border-top:none!important;bottom:auto!important;box-shadow:0 -4px 24px #00000026!important;font-weight:700!important;height:100dvh!important;left:0!important;max-height:100dvh!important;overflow-y:auto!important;position:fixed!important;right:0!important;top:0!important;width:100%!important;z-index:3500!important}}@media (min-width:601px),(min-width:769px) and (hover:hover) and (pointer:fine){.appbar-inner{padding:0 48px}.appbar-profile-wrap{margin-left:4px}.appbar-inner,.calendar-appbar.calendar-appbar-flex{height:64px}.calendar-row.calendar-header{border-radius:0!important;box-sizing:border-box!important;display:flex!important;flex-direction:row!important;height:32px;left:0!important;margin:0!important;max-width:100%!important;opacity:1!important;padding:0!important;right:0!important;top:0;visibility:visible!important;width:100%!important}}.custom-calendar-wrapper.auto-height,.custom-calendar-wrapper.auto-height .calendar-content-area,.custom-calendar-wrapper.auto-height .calendar-grid,.custom-calendar-wrapper.auto-height .calendar-grid-outer{height:auto!important;max-height:none!important;min-height:100vh!important;overflow-y:visible!important}@media (min-width:1900px) and (min-height:1060px){.calendar-row:not(.calendar-header){min-height:120px}}@media (min-width:1800px) and (max-width:1999px) and (min-height:1000px) and (max-height:1199px){.calendar-row:not(.calendar-header){min-height:0}.calendar-cell{padding:8px 6px 2px}}@media (max-height:667px) and (max-width:375px),(max-width:375px) and (hover:none) and (pointer:coarse){.custom-calendar-wrapper{max-width:100vw!important;overflow-x:hidden!important;overflow-y:hidden!important;overscroll-behavior:none!important;-webkit-overscroll-behavior:none!important;touch-action:pan-y!important}body.has-expanded-cell.has-six-weeks .custom-calendar-wrapper,body.has-six-weeks .custom-calendar-wrapper.auto-height{height:auto!important;max-height:none!important;min-height:calc(100vh + 135px)!important;overflow-y:auto!important}body.has-expanded-cell.has-six-weeks .calendar-row:last-child .calendar-cell,body.has-six-weeks .custom-calendar-wrapper.auto-height .calendar-row:last-child .calendar-cell{overscroll-behavior-x:none!important;-webkit-overscroll-behavior-x:none!important;padding-bottom:calc(95px + env(safe-area-inset-bottom))!important}.calendar-row{min-width:0!important;overflow-x:hidden!important;width:100%!important}.calendar-cell{border-width:.25px!important;font-size:.7rem!important;min-height:50px!important;padding:.5px!important}.calendar-cell,.calendar-cell.header{box-sizing:border-box!important;flex:1 1!important;min-width:0!important}.calendar-cell.header{align-items:center!important;border:none!important;border-radius:0!important;border-right:1px solid #e9ecef!important;border-right:1px solid var(--border-color)!important;display:flex!important;font-size:12px!important;font-weight:600!important;height:28px!important;justify-content:center!important;line-height:16px!important;margin:0!important;max-height:28px!important;min-height:28px!important;opacity:1!important;padding:8px 0!important;text-align:center!important;visibility:visible!important}.calendar-header .calendar-cell:last-child{border-right:none!important}.event-block{font-size:7px!important;font-size:var(--event-font-size-mobile-small,7px)!important;font-weight:700!important;height:16px!important;line-height:14px!important;margin:1px 0!important;min-height:14px!important;padding:0 2px!important}.event-block:last-of-type{margin-bottom:0!important}.calendar-cell.auto-height .event-block{height:16px!important;margin:1px 0!important;min-height:14px!important}.appbar-inner{gap:2px!important;padding:0 12px!important}.appbar-month{font-size:14px!important;padding:4px 8px!important}.appbar-search{height:36px!important;margin-right:8px!important;width:36px!important}.appbar-profile{font-size:10px!important;height:24px!important;width:24px!important}}@keyframes slideInFromRight{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}@keyframes slideInFromBottom{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.lunar-date{color:#868e96;color:var(--text-color-secondary,#888);font-size:6pt;font-weight:400;opacity:.8}@media (min-width:769px){.lunar-date{font-size:8pt}}@media (max-width:768px){.cell-date{align-items:flex-start!important;flex-direction:column!important;height:32px!important;justify-content:flex-start!important;min-height:32px}.lunar-date{font-size:6pt;line-height:1;margin-left:0!important;margin-top:1px}body.has-expanded-cell:not(.has-six-weeks) .custom-calendar-wrapper,body:not(.has-six-weeks) .custom-calendar-wrapper.auto-height{height:auto!important;max-height:none!important;min-height:calc(100vh + 120px)!important}body.has-expanded-cell:not(.has-six-weeks) .calendar-row:last-child,body:not(.has-six-weeks) .custom-calendar-wrapper.auto-height .calendar-row:last-child{border-bottom:none!important}body.has-expanded-cell:not(.has-six-weeks) .calendar-row:last-child .calendar-cell,body:not(.has-six-weeks) .custom-calendar-wrapper.auto-height .calendar-row:last-child .calendar-cell{margin-bottom:10px!important;padding-bottom:calc(50px + env(safe-area-inset-bottom))!important}body.has-expanded-cell.has-six-weeks .custom-calendar-wrapper,body.has-six-weeks .custom-calendar-wrapper.auto-height{height:auto!important;max-height:none!important;min-height:calc(100vh + 180px)!important}body.has-expanded-cell.has-six-weeks .calendar-row:last-child,body.has-six-weeks .custom-calendar-wrapper.auto-height .calendar-row:last-child{border-bottom:none!important}body.has-expanded-cell.has-six-weeks .calendar-row:last-child .calendar-cell,body.has-six-weeks .custom-calendar-wrapper.auto-height .calendar-row:last-child .calendar-cell{margin-bottom:10px!important;padding-bottom:calc(60px + env(safe-area-inset-bottom))!important}}.admin-layout{height:100vh}.admin-layout,.admin-sidebar{background-color:#fff;display:flex}.admin-sidebar{border-right:1px solid #e0e0e0;box-shadow:2px 0 8px #0000001a;flex-direction:column;width:200px}.admin-header{background-color:#fafafa;border-bottom:1px solid #e0e0e0;padding:16px}.admin-header h2{color:#333;font-size:18px;font-weight:600;margin:0 0 12px}.back-to-calendar-btn{background-color:#4285f4;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;padding:8px 16px;transition:background-color .2s}.back-to-calendar-btn:hover{background-color:#3367d6}.admin-nav{flex:1 1;padding:12px 0}.admin-nav ul{list-style:none;margin:0;padding:0}.admin-nav li{margin:0}.admin-nav a{align-items:center;color:#555;display:flex;justify-content:flex-start;padding:8px 16px;position:relative;text-align:left;text-decoration:none;transition:all .2s}.admin-nav a:hover{background-color:#f0f7ff;color:#4285f4}.admin-nav a.active{background-color:#e3f2fd;border-right:3px solid #1976d2;color:#1976d2;font-weight:500}.menu-icon{color:#666;flex-shrink:0;font-size:16px;margin-right:12px;text-align:left;width:16px}.menu-label{flex:1 1;font-size:14px}.admin-badge{background-color:#ff5722;border-radius:10px;color:#fff;font-size:10px;font-weight:500;padding:2px 6px}.admin-content{background-color:#fff;flex:1 1;overflow-y:auto;padding:24px}@media (max-width:768px){.admin-layout{flex-direction:column;height:auto}.admin-sidebar{height:auto;width:100%}.admin-nav{padding:8px 0}.admin-nav ul{display:flex;overflow-x:auto;padding:0 16px}.admin-nav li{flex-shrink:0;margin-right:8px}.admin-nav a{border-radius:6px;padding:8px 16px;white-space:nowrap}.admin-nav a.active{border-bottom:2px solid #1976d2;border-right:none}.admin-content{padding:16px}}.menu-section{margin-bottom:8px}.section-header{align-items:center;background-color:#f8f9fa;border-radius:6px;cursor:pointer;display:flex;margin:0 8px;padding:10px 16px;transition:all .2s ease;-webkit-user-select:none;user-select:none}.section-header:hover{background-color:#e9ecef}.section-icon{font-size:16px;margin-right:10px;text-align:center;width:16px}.section-label{color:#333;flex:1 1;font-size:14px;font-weight:600}.toggle-arrow{color:#666;font-size:12px;transform:rotate(0deg);transition:transform .2s ease}.toggle-arrow.expanded{transform:rotate(90deg)}.section-items{list-style:none;margin:0;overflow:hidden;padding:0}.section-items li{margin:0}.section-items a{align-items:center;color:#555;display:flex;font-size:13px;padding:8px 16px 8px 40px;text-decoration:none;transition:all .2s}.section-items a:hover{background-color:#f0f7ff;color:#4285f4}.section-items a.active{background-color:#e3f2fd;border-right:3px solid #1976d2;color:#1976d2;font-weight:500}.section-items .menu-icon{color:#666;flex-shrink:0;font-size:14px;margin-right:10px;text-align:center;width:14px}.section-items .menu-label{flex:1 1;font-size:13px}@media (max-width:768px){.admin-nav{padding:8px 0}.section-header{margin:0 4px;padding:8px 12px}.section-items a{padding:6px 12px 6px 28px}}.dashboard{margin:0 auto;max-width:1200px}.dashboard-header{margin-bottom:32px;text-align:left}.dashboard-header h1{color:#333;font-size:28px;font-weight:600;margin:0 0 8px}.dashboard-header p{color:#666;font-size:16px;margin:0}.stats-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:32px}.stat-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 2px 4px #0000000d;padding:24px;transition:box-shadow .2s}.stat-card:hover{box-shadow:0 4px 8px #0000001a}.stat-card h3{color:#666;font-size:14px;font-weight:500;letter-spacing:.5px;margin:0 0 8px;text-transform:uppercase}.stat-value{color:#333;font-size:32px;font-weight:700;line-height:1;margin:0 0 8px}.stat-detail{color:#888;font-size:13px;line-height:1.4}.features-section{margin-bottom:32px}.features-section h2{color:#333;font-size:20px;font-weight:600;margin:0 0 20px;text-align:left}.features-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.feature-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 2px 4px #0000000d;padding:20px}.feature-info{align-items:center;display:flex;justify-content:space-between;width:100%}.feature-name{color:#333;font-size:16px;font-weight:500;text-align:left}.feature-status{align-items:center;display:flex;gap:8px}.status-indicator{background-color:#4caf50;border-radius:50%;height:12px;width:12px}.status-indicator.active{background-color:#4caf50;box-shadow:0 0 0 3px #4caf5033}.usage-count{color:#4caf50;font-size:14px;font-weight:600}.recent-activity{background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000001a;margin-top:20px;padding:20px}.recent-activity h2{color:#333;font-size:1.4rem;font-weight:600;margin:0 0 20px}.activity-list{display:flex;flex-direction:column;gap:12px}.activity-item{align-items:flex-start;background:#f8f9fa;border-left:3px solid #e0e0e0;border-radius:8px;display:flex;gap:12px;padding:12px;transition:all .2s ease}.error-item{background:#fff5f5;border-left-color:#dc3545}.activity-item:hover{background:#f0f0f0;box-shadow:0 2px 8px #0000001a;transform:translateY(-1px)}.error-item:hover{background:#ffebee}.activity-icon{font-size:1.2rem;margin-top:2px;min-width:20px;text-align:center}.activity-content{flex:1 1;min-width:0}.error-header{align-items:center;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:6px}.error-type{font-size:1.1rem}.calendar-code{background:#e3f2fd;color:#1976d2}.calendar-code,.user-name{border-radius:4px;font-size:.85rem;font-weight:500;padding:2px 8px}.user-name{background:#f3e5f5;color:#7b1fa2}.error-content{color:#d32f2f;font-weight:500}.activity-description,.error-content{margin-bottom:4px;text-align:left;word-break:break-word}.activity-description{color:#333;font-weight:400}.activity-time{color:#666;font-size:.85rem}.no-activity{font-style:italic;padding:40px 20px}.loading,.no-activity{color:#666;text-align:center}.loading{padding:40px}.error{background-color:#ffebee;border:1px solid #ffcdd2;border-radius:8px;color:#c62828;margin:20px 0;padding:20px;text-align:center}@media (max-width:768px){.stats-grid{gap:16px}.features-grid,.stats-grid{grid-template-columns:1fr}.feature-info{align-items:flex-start;flex-direction:column;gap:8px}.feature-status{align-self:flex-end}.activity-item{flex-direction:column;gap:4px}.activity-time{min-width:auto}}.page-container{padding:0}.page-header{margin-bottom:32px}.page-header h1{color:#333;font-size:28px;font-weight:600;margin:0 0 8px}.page-header p{color:#666;font-size:16px;margin:0}.coming-soon{align-items:center;background-color:#f8f9fa;border:2px dashed #dee2e6;border-radius:12px;display:flex;flex-direction:column;height:300px;justify-content:center;text-align:center}.coming-soon-icon{font-size:48px;margin-bottom:16px}.coming-soon h3{color:#333;font-size:20px;font-weight:500;margin:0 0 8px}.coming-soon p{color:#666;font-size:14px;margin:0}.loading-container{align-items:center;color:#666;display:flex;font-size:16px;height:200px;justify-content:center}.error-container{background-color:#ffebee;border:1px solid #ffcdd2;border-radius:8px;color:#c62828;margin-bottom:24px;padding:16px}.error-container .error-title{font-weight:500;margin-bottom:8px}.error-container .error-message{font-size:14px;margin-bottom:12px}.error-container .retry-btn{background-color:#4285f4;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;padding:8px 16px}.error-container .retry-btn:hover{background-color:#3367d6}.data-table{background-color:#fff;border-collapse:collapse;border-radius:8px;box-shadow:0 2px 8px #0000001a;margin-bottom:24px;overflow:hidden;width:100%}.data-table td,.data-table th{border-bottom:1px solid #e0e0e0;padding:12px 16px;text-align:left;vertical-align:middle}.data-table th{background-color:#f8f9fa;color:#333;font-size:14px;font-weight:500;position:sticky;top:0;z-index:10}.data-table td{color:#555;font-size:14px}.data-table tr:hover{background-color:#f8f9fa}.data-table tr:last-child td{border-bottom:none}.btn{align-items:center;border:none;border-radius:6px;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:6px;padding:8px 16px;text-decoration:none;transition:all .2s}.btn-primary:hover{background-color:#3367d6}.btn-secondary{border:1px solid #e0e0e0;color:#333}.btn-secondary:hover{background-color:#e8f0fe;border-color:#4285f4;color:#4285f4}.btn-small{font-size:12px;padding:6px 12px}.form-group{margin-bottom:16px}.form-label{color:#333;display:block;font-size:14px;font-weight:500;margin-bottom:4px}.form-input{border:1px solid #ddd;border-radius:6px;font-size:14px;padding:8px 12px;transition:border-color .2s;width:100%}.form-input:focus{border-color:#4285f4;box-shadow:0 0 0 2px #4285f433;outline:none}.form-select{background-color:#fff;border:1px solid #ddd;border-radius:6px;cursor:pointer;font-size:14px;padding:8px 12px;width:100%}.form-select:focus{border-color:#4285f4;box-shadow:0 0 0 2px #4285f433;outline:none}.modal-overlay{background-color:#00000080}.modal-content{border-radius:12px;box-shadow:0 20px 60px #0000004d;overflow-y:auto;padding:0;width:90%}.modal-header{background-color:#f8f9fa;border-bottom:1px solid #e0e0e0;border-radius:12px 12px 0 0;padding:20px 24px}.modal-body{padding:24px}.modal-footer{background-color:#f8f9fa;border-radius:0 0 12px 12px;border-top:1px solid #e0e0e0;padding:16px 24px}.badge{border-radius:12px;font-weight:500;padding:4px 8px}.badge-success{background-color:#e8f5e8;color:#2e7d32}.badge-warning{background-color:#fff3e0;color:#f57c00}.badge-danger{background-color:#ffebee;color:#c62828}@media (max-width:768px){.data-table{font-size:12px}.data-table td,.data-table th{padding:8px 12px}.modal-content{margin:16px;padding:20px}.modal-footer{flex-direction:column}}.user-stats{align-items:center;color:#888;display:flex;font-size:12px;gap:20px}.user-info-cell{display:flex;flex-direction:column;gap:4px}.permission-badges,.user-badges{display:flex;flex-wrap:wrap;gap:4px;justify-content:center}.permission-badges{align-items:center;max-width:200px;min-height:40px}.management-actions{align-items:center;display:flex;gap:12px;justify-content:center}.monthly-stats-container{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:0;max-width:none;padding:24px}.stats-header{align-items:center;border-bottom:1px solid #e5e5e5;display:flex;justify-content:space-between;margin-bottom:32px;padding-bottom:16px}.stats-header h2{color:#191f28;font-size:24px;font-weight:600;margin:0}.monthly-summary{margin-bottom:32px}.monthly-summary h3{color:#191f28;font-size:18px;font-weight:600;margin:0 0 16px}.summary-cards{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));margin-bottom:16px}.summary-card{background:#fff;border:1px solid #e5e5e5;border-top:4px solid;box-shadow:0 1px 3px #0000001a}.summary-card:hover{box-shadow:0 4px 12px #00000026}.total-card{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-top-color:#191f28!important}.card-title{color:#6b7280;font-size:14px;font-weight:500;margin-bottom:8px}.card-count{color:#191f28;font-size:24px;font-weight:700}.legend{display:flex;flex-wrap:wrap;gap:24px;justify-content:center;margin-bottom:24px}.legend-item{align-items:center;color:#191f28;display:flex;font-size:14px;gap:8px}.legend-color{border-radius:4px;box-shadow:0 1px 3px #0000001a;height:16px;width:16px}.main-content{align-items:flex-start;display:flex;gap:32px}.calendar-section{flex:0 0 800px;min-width:800px}.chart-section{flex:1 1;min-width:500px}@media (min-width:2100px){.monthly-stats-container{display:flex;flex-direction:column;height:100vh;padding:16px}.stats-info{flex-shrink:0;margin-bottom:8px;padding:4px 12px}.stats-info h3{font-size:16px;margin:0 0 4px}.stats-info p{font-size:12px;line-height:1.2;margin:1px 0}.main-content{flex:1 1;gap:16px;min-height:0}.calendar-section{flex:0 0 800px;min-width:800px}.chart-section{flex:1 1;min-width:400px}.calendar-day{min-height:90px;padding:8px}.day-number{font-size:16px;margin-bottom:2px}.machine-text-item{font-size:10px;line-height:1.1}.day-total{bottom:4px;font-size:10px}.comparison-grid{gap:8px;grid-template-columns:repeat(2,1fr)}.comparison-card{padding:10px}.comparison-section{flex-shrink:0;margin-bottom:12px}.comparison-section h3{font-size:14px;margin-bottom:6px}.yearly-trend-chart h4{font-size:12px;margin-bottom:4px}.line-chart-svg{height:120px}}@media (max-width:1720px){.monthly-stats-container{box-sizing:border-box;display:flex;flex-direction:column;height:100vh;overflow:hidden;padding:6px}.stats-info{flex-shrink:0;margin-bottom:4px;padding:2px 8px}.stats-info h3{font-size:12px;margin:0 0 1px}.stats-info p{font-size:10px;line-height:1.1;margin:0}.main-content{display:flex;flex:1 1;gap:8px;min-height:0}.calendar-section{flex:0 0 650px;min-width:650px}.chart-section{flex:1 1;min-width:280px}.calendar-container{display:flex;flex-direction:column;height:100%;padding:8px}.calendar-header{margin-bottom:4px;padding:6px 10px}.calendar-header .month-select,.calendar-header .year-select{font-size:13px;min-width:60px;padding:4px 8px}.nav-button{font-size:14px;height:28px;width:28px}.calendar-weekdays{margin-bottom:3px}.weekday-header{font-size:11px;padding:4px}.calendar-grid{flex:1 1;gap:1px}.calendar-day{font-size:8px;min-height:28px;padding:1px}.day-number{font-size:9px;margin-bottom:0}.machine-text-list{margin-bottom:1px;min-height:10px}.machine-text-item{font-size:6px;line-height:.9}.day-total{bottom:0;font-size:6px;left:2px}.chart-container{display:flex;flex-direction:column;height:100%;padding:4px}.chart-container h3{font-size:10px;margin:0 0 2px}.summary-cards{gap:4px;grid-template-columns:repeat(6,1fr);margin-bottom:8px}.summary-card{padding:8px;text-align:center}.card-title{font-size:10px;margin-bottom:4px}.card-count{font-size:16px;font-weight:700}.comparison-grid{gap:4px;grid-template-columns:repeat(6,1fr)}.comparison-card{padding:8px}.comparison-header .comparison-type{font-size:10px}.current-value{font-size:16px;margin-bottom:4px}.change-indicator{font-size:10px;padding:2px 4px}.previous-value{font-size:10px}.comparison-section{flex-shrink:0;margin-bottom:1px}.comparison-section h3{font-size:9px;margin-bottom:1px}.trend-charts-container{grid-gap:4px;border-top:1px solid #e5e5e5;display:grid;gap:4px;grid-template-columns:1fr 1fr;padding-top:2px}.yearly-trend-chart{display:flex;flex-direction:column;margin-bottom:0;min-height:0}.yearly-trend-chart h4{flex-shrink:0;font-size:7px;margin-bottom:0}.yearly-line-chart-container{align-items:center;display:flex;flex:1 1;height:35px;min-height:0;padding:1px}.line-chart-svg{height:30px;width:100%}}@media (min-width:1721px){.monthly-stats-container{display:flex;flex-direction:column;height:100vh;padding:16px}.stats-info{flex-shrink:0;margin-bottom:8px;padding:4px 12px}.stats-info h3{font-size:16px;margin:0 0 4px}.stats-info p{font-size:12px;line-height:1.2;margin:1px 0}.main-content{flex:1 1;gap:16px;min-height:0}.calendar-section{flex:0 0 800px;min-width:800px}.chart-section{flex:1 1;min-width:400px}.calendar-day{min-height:90px;padding:8px}.day-number{font-size:16px;margin-bottom:2px}.machine-text-item{font-size:10px;line-height:1.1}.day-total{bottom:4px;font-size:10px}.comparison-grid{gap:8px;grid-template-columns:repeat(2,1fr)}.comparison-card{padding:10px}.comparison-section{flex-shrink:0;margin-bottom:12px}.comparison-section h3{font-size:14px;margin-bottom:6px}.yearly-trend-chart h4{font-size:12px;margin-bottom:4px}.line-chart-svg{height:120px}}.calendar-container{background:#fff;border:1px solid #e5e5e5;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:24px}.calendar-header{background:#f8f9fa;border:1px solid #e5e5e5;border-radius:8px;justify-content:space-between;margin-bottom:20px;padding:16px 20px}.calendar-header,.nav-button{align-items:center;display:flex}.nav-button{background:#fff;border:1px solid #d1d5db;border-radius:8px;color:#4285f4;cursor:pointer;font-size:20px;font-weight:600;height:40px;justify-content:center;transition:all .2s ease;width:40px}.nav-button:hover{background:#4285f4;border-color:#4285f4;color:#fff;transform:scale(1.05)}.nav-button:active{transform:scale(.98)}.nav-button.disabled,.nav-button:disabled{cursor:not-allowed;opacity:.5;pointer-events:none}.calendar-header .date-selector{align-items:center;display:flex;gap:12px}.calendar-header .month-select,.calendar-header .year-select{background:#fff;border:1px solid #d1d5db;border-radius:8px;color:#191f28;cursor:pointer;font-size:16px;font-weight:600;min-width:80px;padding:10px 16px;transition:all .2s ease}.calendar-header .month-select:focus,.calendar-header .year-select:focus{border-color:#4285f4;box-shadow:0 0 0 3px #4285f41a;outline:none}.calendar-header .month-select:hover,.calendar-header .year-select:hover{background:#f8f9fa;border-color:#4285f4}.calendar-header .month-select:disabled,.calendar-header .year-select:disabled{background:#f5f5f5;cursor:not-allowed;opacity:.6}.calendar-weekdays{grid-gap:2px;display:grid;gap:2px;grid-template-columns:repeat(7,1fr);margin-bottom:8px}.weekday-header{background:#f8f9fa;border-radius:6px;color:#6b7280;font-size:14px;font-weight:600;padding:12px;text-align:center}.calendar-grid{grid-gap:2px;display:grid;gap:2px;grid-template-columns:repeat(7,1fr)}.calendar-day{background:#fff;border:1px solid #f0f0f0;border-radius:6px;min-height:160px;padding:12px;position:relative;transition:background-color .2s ease,transform .2s ease}.calendar-day:hover:not(.empty){background:#f8f9fa;box-shadow:0 2px 8px #0000001a;transform:scale(1.02)}.calendar-day.empty{background:#0000;border:none}.day-number{color:#191f28;font-size:20px;font-weight:600;margin-bottom:4px}.day-weekday{color:#9ca3af;font-size:12px;margin-bottom:10px}.machine-text-list{align-items:flex-start;display:flex;flex-direction:column;gap:1px;margin-bottom:8px;min-height:40px}.machine-text-item{font-weight:600;line-height:1.3}.day-total,.machine-text-item{font-size:11px;text-align:left}.day-total{bottom:6px;color:#6b7280;font-weight:500;left:12px;position:absolute}.stats-info{background:#f8f9fa;border:1px solid #e5e5e5;border-radius:8px;margin-bottom:16px;padding:8px 16px}.stats-info p{color:#6b7280;font-size:14px;line-height:1.3;margin:2px 0}.stats-info h3{color:#191f28;font-size:18px;font-weight:600;margin:0 0 6px}.loading-spinner{align-items:center;color:#6b7280;display:flex;font-size:16px;height:200px;justify-content:center}.content-container{position:relative;transition:opacity .3s ease}.content-container.loading-overlay{opacity:.7;pointer-events:none}.inline-loading{background:#ffffffe6;border:1px solid #e5e5e5;border-radius:8px;box-shadow:0 2px 8px #00000026;padding:12px 16px;position:absolute;right:20px;top:20px;z-index:10}.loading-dot-animation{align-items:center;display:flex;gap:4px}.loading-dot-animation span{animation:loading-bounce 1.4s ease-in-out infinite both;background:#4285f4;border-radius:50%;height:6px;width:6px}.loading-dot-animation span:first-child{animation-delay:-.32s}.loading-dot-animation span:nth-child(2){animation-delay:-.16s}@keyframes loading-bounce{0%,80%,to{opacity:.5;transform:scale(.8)}40%{opacity:1;transform:scale(1.2)}}.error-message{background:#fee2e2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;margin-bottom:16px;padding:16px;text-align:center}.retry-button{background:#4285f4;border:none;border-radius:8px;color:#fff;cursor:pointer;display:block;font-size:14px;font-weight:500;margin:0 auto;padding:12px 24px;transition:background-color .2s ease,transform .2s ease}.retry-button:hover{background:#3367d6;transform:translateY(-1px)}.retry-button:active{transform:translateY(0)}.chart-container{background:#fff;border:1px solid #e5e5e5;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:24px}.chart-container h3{color:#191f28;font-size:18px;font-weight:600;margin:0 0 20px}.chart-container h4{color:#191f28;font-size:16px;font-weight:600;margin:24px 0 16px}.trend-chart{margin-bottom:24px}.trend-item{margin-bottom:16px}.trend-label{color:#191f28;font-size:16px;font-weight:600;margin-bottom:8px}.trend-type-label{font-size:14px;font-weight:600;margin-bottom:4px}.trend-value{color:#191f28;font-size:20px;font-weight:700;margin-bottom:8px}.trend-bar{background:#f0f0f0;border-radius:4px;height:8px;overflow:hidden;width:100%}.trend-bar-fill{border-radius:4px;height:100%;transition:width .3s ease}.daily-chart{border-top:1px solid #e5e5e5;padding-top:20px}.daily-chart-grid{align-items:flex-end;display:flex;gap:2px;height:100px;justify-content:space-between;padding:10px 0}.daily-chart-item{align-items:center;display:flex;flex:1 1;flex-direction:column}.daily-chart-bar-container{align-items:flex-end;display:flex;height:60px;justify-content:center;width:100%}.daily-chart-bar{border-radius:2px;min-height:2px;transition:all .2s ease;width:8px}.daily-chart-bar:hover{box-shadow:0 2px 4px #0003;transform:scaleY(1.1)}.daily-chart-label{color:#6b7280;font-size:10px;margin-top:4px;text-align:center}.comparison-section{margin-bottom:32px}.comparison-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(3,1fr)}.comparison-card{background:#f8f9fa;border:1px solid #e5e5e5;border-radius:8px;padding:16px;text-align:center;transition:transform .2s ease,box-shadow .2s ease}.comparison-card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.comparison-card.total-card{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:2px solid #191f28}.comparison-header{margin-bottom:8px}.comparison-type{font-size:14px;font-weight:600}.comparison-values{margin-bottom:8px}.current-value{color:#191f28;font-size:20px;font-weight:700;margin-bottom:4px}.change-indicator{border-radius:12px;display:inline-block;font-size:14px;font-weight:600;padding:2px 8px}.change-indicator.increase{background:#22c55e1a;color:#16a34a}.change-indicator.decrease{background:#ef44441a;color:#dc2626}.previous-value{color:#6b7280;font-size:12px}.trend-charts-container{border-top:1px solid #e5e5e5;padding-top:24px}.yearly-trend-chart{margin-bottom:32px}.yearly-trend-chart:last-child{margin-bottom:0}.yearly-line-chart-container{background:#f8f9fa;border-radius:8px;margin-top:16px;padding:20px}.line-chart-svg{background:#fff;border-radius:6px;height:200px;width:100%}.chart-point{cursor:pointer;transition:all .2s ease}.chart-point:hover{r:8;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.point-value{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-weight:600}.point-value.current{font-weight:700}.month-label{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-weight:500}.month-label.current{font-weight:700}@media (max-width:768px){.main-content{flex-direction:column;gap:20px}.monthly-stats-container{padding:16px}.stats-header{align-items:flex-start;flex-direction:column;gap:16px}.summary-cards{grid-template-columns:repeat(2,1fr)}.legend{gap:16px}.calendar-container{padding:16px}.calendar-header{margin-bottom:16px;padding:12px 16px}.nav-button{font-size:18px;height:36px;width:36px}.calendar-header .month-select,.calendar-header .year-select{font-size:14px;min-width:70px;padding:8px 12px}.calendar-day{min-height:70px;padding:6px}.day-number{font-size:14px}.machine-bar{height:14px}.machine-count{font-size:9px}.yearly-line-chart-container{padding:16px}.line-chart-svg{height:180px}.calendar-section,.chart-section{flex:none;min-width:auto}.comparison-grid{gap:10px;grid-template-columns:repeat(3,1fr)}}@media (max-width:480px){.summary-cards{grid-template-columns:1fr}.legend{align-items:center}.calendar-header,.legend{flex-direction:column;gap:12px}.calendar-header{margin-bottom:12px;padding:10px 12px}.calendar-header .date-selector{gap:8px}.nav-button{font-size:16px;height:32px;width:32px}.calendar-header .month-select,.calendar-header .year-select{font-size:13px;min-width:60px;padding:6px 10px}.calendar-day{min-height:60px;padding:4px}.day-number{font-size:12px}.machine-bar{height:12px}.yearly-line-chart-container{padding:12px}.line-chart-svg{height:160px}.comparison-grid{gap:8px;grid-template-columns:repeat(2,1fr)}}.toast{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;bottom:80px;box-shadow:0 8px 32px #00000026;left:50%;max-width:480px;min-width:320px;opacity:0;position:fixed;transform:translateX(-50%) translateY(100%);transition:all .4s cubic-bezier(.4,0,.2,1);z-index:9999}.toast.toast-show{opacity:.95;transform:translateX(-50%) translateY(0)}.toast-content{align-items:center;background:#fffffffa;border:2px solid #3b82f6;border-radius:12px;display:flex;gap:12px;padding:16px 20px}.toast-icon{color:#3b82f6;flex-shrink:0;font-size:18px;font-weight:700}.toast-message{color:#1f2937;flex:1 1;font-size:14px;font-weight:500;line-height:1.5}.toast-close{align-items:center;background:none;border:none;border-radius:50%;color:#6b7280;cursor:pointer;display:flex;flex-shrink:0;font-size:16px;height:24px;justify-content:center;padding:4px;transition:all .2s ease;width:24px}.toast-close:hover{background-color:#3b82f61a;color:#3b82f6}.toast-error .toast-content,.toast-info .toast-content,.toast-success .toast-content,.toast-warning .toast-content{background:#fffffffa;border:2px solid #3b82f6}.toast-error .toast-message,.toast-info .toast-message,.toast-success .toast-message,.toast-warning .toast-message{color:#1f2937}.toast-error .toast-icon,.toast-info .toast-icon,.toast-success .toast-icon,.toast-warning .toast-icon{color:#3b82f6}.toast-error .toast-close,.toast-info .toast-close,.toast-success .toast-close,.toast-warning .toast-close{color:#6b7280}.toast-error .toast-close:hover,.toast-info .toast-close:hover,.toast-success .toast-close:hover,.toast-warning .toast-close:hover{background-color:#3b82f61a;color:#3b82f6}@media (max-width:768px){.toast{bottom:60px;left:20px;max-width:none;min-width:auto;right:20px;transform:translateY(100%)}.toast.toast-show{transform:translateY(0)}.toast-content{padding:14px 16px}.toast-message{font-size:13px}}@keyframes slideInRight{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}@keyframes slideOutRight{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(100%)}}.role-management-container{background-color:#fff;margin:0 auto;max-width:95%;min-height:100vh;padding:16px}.header-section{margin-bottom:20px;text-align:left}.header-section h1{color:#1a1a1a;font-size:28px;font-weight:600;margin:0 0 8px}.header-section p{color:#666;font-size:16px;margin:0}.controls-section{margin-bottom:24px}.filter-group{display:flex;gap:16px;margin:0;max-width:100%}.search-input,.select-input{background-color:#fff;border:1.5px solid #e1e5e9;border-radius:8px;font-size:14px;padding:10px 14px;transition:all .2s ease}.select-input{min-width:180px}.search-input{flex:1 1}.search-input:focus,.select-input:focus{border-color:#4285f4;box-shadow:0 0 0 3px #4285f41a;outline:none}.summary-cards{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:20px;max-width:100%}.summary-card{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:1px solid #dee2e6;border-radius:12px;padding:20px;text-align:center;transition:transform .2s ease,box-shadow .2s ease}.summary-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.summary-card.danger{background:linear-gradient(135deg,#fff5f5,#fed7d7);border-color:#fc8181}.summary-card.warning{background:linear-gradient(135deg,#fffbeb,#fed7aa);border-color:#f6ad55}.summary-card.secondary{background:linear-gradient(135deg,#f7fafc,#edf2f7);border-color:#cbd5e0}.summary-value{color:#1a1a1a;font-size:24px;font-weight:700;margin-bottom:4px}.summary-label{color:#666;font-size:13px;font-weight:500}.content-section{background-color:#fafbfc;border-radius:12px;min-height:400px;padding:24px}.empty-state{padding:60px 20px;text-align:center}.empty-icon{font-size:48px;margin-bottom:16px}.empty-state h3{color:#1a1a1a;font-size:20px;font-weight:500;margin:0 0 8px}.empty-state p{color:#666;font-size:14px;margin:0}.loading-state{align-items:center;color:#666;display:flex;flex-direction:column;justify-content:center;padding:60px 20px}.loading-spinner{animation:spin 1s linear infinite;border:3px solid #f3f3f3;border-radius:50%;border-top-color:#4285f4;height:32px;margin-bottom:16px;width:32px}.error-state{padding:60px 20px;text-align:center}.error-icon{font-size:48px;margin-bottom:16px}.error-state h3{color:#dc3545;font-size:20px;font-weight:500;margin:0 0 8px}.error-state p{color:#666;font-size:14px;margin:0 0 20px}.issues-list{grid-gap:16px;display:grid;gap:16px}.issue-card{background:#fff;border:1px solid #e1e5e9;border-radius:12px;padding:20px;transition:all .2s ease}.issue-card:hover{border-color:#4285f4;box-shadow:0 2px 8px #4285f41a}.issue-header{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;margin-bottom:16px}.issue-title{color:#1a1a1a;flex:1 1;font-size:16px;font-weight:600;line-height:1.4;margin:0}.issue-details{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:16px}.detail-item{display:flex;flex-direction:column;gap:4px}.detail-label{color:#666;font-size:12px;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.detail-value{color:#1a1a1a;font-size:14px;font-weight:400}.issue-actions{display:flex;justify-content:flex-end}.badge{border-radius:20px;display:inline-block;font-size:12px;font-weight:600;letter-spacing:.5px;padding:6px 12px;text-transform:uppercase;white-space:nowrap}.badge-danger{background-color:#fee;border:1px solid #f5c6cb;color:#dc3545}.badge-warning{background-color:#fff3cd;border:1px solid #ffeaa7;color:#856404}.badge-secondary{background-color:#f8f9fa;border:1px solid #dee2e6;color:#6c757d}.badge-primary{background-color:#e3f2fd;border:1px solid #bbdefb;color:#1976d2}.btn-danger,.btn-outline,.btn-primary,.btn-secondary{align-items:center;border:none;border-radius:8px;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;justify-content:center;padding:10px 20px;text-decoration:none;transition:all .2s ease;white-space:nowrap}.btn-primary{background-color:#4285f4;color:#fff}.btn-primary:hover:not(:disabled){background-color:#3367d6;transform:translateY(-1px)}.btn-primary:disabled{background-color:#ccc;cursor:not-allowed}.btn-secondary{background-color:#f8f9fa;border:1px solid #dee2e6;color:#495057}.btn-secondary:hover{background-color:#e9ecef;border-color:#adb5bd}.btn-danger{background-color:#dc3545;color:#fff}.btn-danger:hover{background-color:#c82333;transform:translateY(-1px)}.btn-outline{background-color:initial;border:1.5px solid #4285f4;color:#4285f4}.btn-outline:hover:not(:disabled){background-color:#4285f4;color:#fff;transform:translateY(-1px)}.btn-outline:disabled{border-color:#ccc;color:#ccc;cursor:not-allowed}.modal-overlay{align-items:center;background-color:#0009;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:#fff;border-radius:16px;box-shadow:0 25px 50px #00000040;display:flex;flex-direction:column;max-height:90vh;max-width:600px;overflow:hidden;width:100%}.modal-header{align-items:center;border-bottom:1px solid #e1e5e9;display:flex;justify-content:space-between;margin-bottom:24px;padding:24px 24px 16px}.modal-header h2{color:#1a1a1a;font-size:20px;font-weight:600;margin:0}.modal-close{align-items:center;background:none;border:none;border-radius:6px;color:#666;cursor:pointer;display:flex;font-size:24px;height:32px;justify-content:center;padding:0;transition:all .2s ease;width:32px}.modal-close:hover{background-color:#f8f9fa;color:#1a1a1a}.modal-body{flex:1 1;overflow-y:auto;padding:0 24px}.modal-footer{border-top:1px solid #e1e5e9;display:flex;gap:12px;justify-content:flex-end;margin-top:24px;padding:20px 24px}.event-info{border-bottom:1px solid #e1e5e9;margin-bottom:32px;padding-bottom:24px}.event-info h3{color:#1a1a1a;font-size:18px;font-weight:600;line-height:1.4;margin:0 0 12px}.event-meta{align-items:center;color:#666;display:flex;flex-wrap:wrap;font-size:14px;gap:8px}.roles-section{margin-bottom:32px}.roles-section h4{color:#1a1a1a;font-size:16px;font-weight:600;margin:0 0 16px}.roles-grid{grid-gap:12px;background-color:#fafbfc;border:1px solid #e1e5e9;border-radius:8px;display:grid;gap:12px;max-height:200px;overflow-y:auto;padding:16px}.no-roles{color:#666;font-style:italic;padding:20px;text-align:center}.role-checkbox{align-items:center;border-radius:6px;cursor:pointer;display:flex;gap:12px;padding:8px;transition:background-color .2s ease}.role-checkbox:hover{background-color:#f0f2f5}.role-checkbox input[type=checkbox]{display:none}.checkmark{border:2px solid #ddd;border-radius:4px;height:18px;position:relative;transition:all .2s ease;width:18px}.role-checkbox input[type=checkbox]:checked+.checkmark{background-color:#4285f4;border-color:#4285f4}.role-checkbox input[type=checkbox]:checked+.checkmark:after{border:solid #fff;border-width:0 2px 2px 0;content:"";height:8px;left:5px;position:absolute;top:2px;transform:rotate(45deg);width:4px}.role-name{color:#1a1a1a;font-size:14px;font-weight:400}.author-roles-section{margin-bottom:32px}.author-roles-section h4{color:#1a1a1a;font-size:16px;font-weight:600;margin:0 0 12px}.roles-tags{display:flex;flex-wrap:wrap;gap:8px}.role-tag{background-color:#e3f2fd;border:1px solid #bbdefb;border-radius:16px;color:#1976d2;font-size:12px;font-weight:500;padding:6px 12px}.memos-section{margin-bottom:32px}.memos-section h4{color:#1a1a1a;font-size:16px;font-weight:600;margin:0 0 16px}.memos-list{background-color:#fafbfc;border:1px solid #e1e5e9;border-radius:8px;max-height:300px;overflow-y:auto}.memo-item{background-color:#fff;border-bottom:1px solid #e1e5e9;margin-bottom:1px;padding:16px}.memo-item:last-child{border-bottom:none;margin-bottom:0}.memo-header{align-items:center;color:#666;display:flex;font-size:12px;gap:12px;margin-bottom:8px}.memo-author{color:#1a1a1a;font-weight:500}.memo-date{color:#666}.memo-reads{background-color:#e3f2fd;border-radius:12px;color:#4285f4;font-size:11px;padding:2px 6px}.memo-content{color:#1a1a1a;font-size:14px;line-height:1.4;margin-bottom:8px;word-break:break-word}.memo-file{background-color:#e8f0fe;border-radius:4px;color:#4285f4;display:inline-block;font-size:12px;padding:4px 8px}.foreign-key-info{margin-bottom:24px}.foreign-key-info h4{color:#1a1a1a;font-size:16px;font-weight:600;margin:0 0 12px}.data-stats{align-items:center;color:#666;display:flex;font-size:14px;gap:8px;margin-bottom:12px}.warning-message{background-color:#fff3e0;border:1px solid #ffcc02;border-radius:6px;color:#ef6c00;font-size:13px;line-height:1.4;padding:12px}.issue-checkbox{align-items:center;display:flex;margin-right:12px}.issue-checkbox input[type=checkbox]{display:none}.issue-checkbox .checkmark{border:2px solid #ddd;border-radius:4px;cursor:pointer;height:18px;position:relative;transition:all .2s ease;width:18px}.issue-checkbox input[type=checkbox]:checked+.checkmark{background-color:#4285f4;border-color:#4285f4}.issue-checkbox input[type=checkbox]:checked+.checkmark:after{border:solid #fff;border-width:0 2px 2px 0;content:"";height:8px;left:5px;position:absolute;top:2px;transform:rotate(45deg);width:4px}.batch-actions{background-color:#e3f2fd;border:1px solid #bbdefb;border-radius:8px;display:flex;gap:12px;margin-bottom:20px;padding:16px}.bulk-selector{background-color:#f8f9fa;border:1px solid #e1e5e9;border-radius:8px;margin-bottom:16px;padding:12px 16px}.checkbox-container{align-items:center;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px}.checkbox-container input[type=checkbox]{display:none}.checkmark-bulk{border:2px solid #ddd;border-radius:4px;height:18px;position:relative;transition:all .2s ease;width:18px}.checkbox-container input[type=checkbox]:checked+.checkmark-bulk{background-color:#4285f4;border-color:#4285f4}.checkbox-container input[type=checkbox]:checked+.checkmark-bulk:after{border:solid #fff;border-width:0 2px 2px 0;content:"";height:8px;left:5px;position:absolute;top:2px;transform:rotate(45deg);width:4px}@media (max-width:768px){.role-management-container{padding:16px}.filter-group{flex-direction:column}.summary-cards{grid-template-columns:1fr 1fr}.issue-header{align-items:flex-start;flex-direction:column;gap:12px}.issue-details{grid-template-columns:1fr}.modal-content{margin:10px;max-height:95vh}.event-meta,.modal-footer{flex-direction:column}.event-meta{align-items:flex-start;gap:6px}}@media (max-width:480px){.summary-cards{grid-template-columns:1fr}.header-section h1{font-size:24px}}.LoginPage_container__Cfl-W{background:var(--panel-background);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 2px 16px #00000014;margin:60px auto;max-width:400px;padding:32px 24px;text-align:center}.LoginPage_header__bJ851{margin-bottom:32px;position:relative}.LoginPage_title__gHnSn{color:var(--text-color);font-size:2rem;font-weight:700;margin-bottom:0;text-align:center}.LoginPage_themeToggleBtn__aTTRS{align-items:center;background:none;border:1px solid var(--border-color);border-radius:50%;cursor:pointer;display:flex;font-size:1.2rem;height:36px;justify-content:center;position:absolute;right:0;top:50%;transform:translateY(-50%);width:36px}.LoginPage_input__D-sed{background-color:var(--input-bg);border:1px solid var(--border-color);border-radius:6px;color:var(--text-color);display:block;font-size:1rem;margin-bottom:16px;margin-left:auto;margin-right:auto;max-width:360px;padding:12px;width:100%}.LoginPage_input__D-sed::placeholder{color:var(--text-color-secondary);font-size:.85rem}.LoginPage_emailContainer__RtPny{align-items:center;display:flex;gap:8px;justify-content:center;margin-bottom:16px;margin-left:auto;margin-right:auto;max-width:360px}.LoginPage_emailLocal__ccHlO{flex:1 1;margin-bottom:0;min-width:0}.LoginPage_emailDomain__hfirz{flex:1 1;margin-bottom:0;min-width:130px}.LoginPage_customDomainContainer__0rR8v{align-items:center;display:flex;flex:1 1;gap:4px}.LoginPage_atSymbol__E7u8q{color:var(--text-color);flex-shrink:0;font-size:1rem;font-weight:700;padding:0 4px}.LoginPage_customDomainInput__W8jd0{flex:1 1;margin-bottom:0;min-width:110px}.LoginPage_resetBtn__9D2-K{align-items:center;background:var(--button-secondary-bg);border:1px solid var(--border-color);border-radius:50%;color:var(--button-secondary-text);cursor:pointer;display:flex;flex-shrink:0;font-size:16px;font-weight:700;height:32px;justify-content:center;transition:all .2s ease;width:32px}.LoginPage_resetBtn__9D2-K:hover{background:var(--hover-bg-color);border-color:var(--button-primary-bg);color:var(--button-primary-bg)}.LoginPage_domainResetBtn__13PA0{background:var(--button-secondary-bg);border:1px solid var(--border-color);border-radius:6px;color:var(--button-secondary-text);cursor:pointer;font-size:.9rem;margin-bottom:16px;padding:8px 16px;transition:all .2s ease}.LoginPage_domainResetBtn__13PA0:hover{background:var(--hover-bg-color);border-color:var(--button-primary-bg)}.LoginPage_keepLogin__Dewgs{align-items:center;color:var(--text-color);display:flex;font-size:.95rem;gap:8px;margin-bottom:16px}.LoginPage_loginBtn__HrpXb{background:var(--button-primary-bg);border:none;border-radius:6px;color:var(--button-primary-text);cursor:pointer;font-size:1.1rem;font-weight:700;margin-bottom:16px;padding:14px;width:100%}.LoginPage_links__GdQq7{color:var(--text-color);font-size:.95rem;margin-bottom:24px}.LoginPage_links__GdQq7 span{cursor:pointer;margin:0 4px}.LoginPage_separator__dLMyR{color:var(--text-color-secondary);cursor:default!important;margin:0 8px}.LoginPage_contactBox__Cr7PV{background:var(--background-color-other-month);border-radius:8px;color:var(--text-color);font-size:1rem;margin-top:16px;padding:16px}.LoginPage_error__U\+uSr{color:var(--sunday-color);font-size:.95rem;margin-bottom:12px}@media (max-width:600px){.LoginPage_container__Cfl-W{margin:20px;max-width:none}.LoginPage_emailContainer__RtPny{flex-direction:column;gap:12px}.LoginPage_customDomainInput__W8jd0,.LoginPage_emailDomain__hfirz,.LoginPage_emailLocal__ccHlO{max-width:none;width:100%}.LoginPage_customDomainContainer__0rR8v{width:100%}}.SignupPage_container__6pgiP{background:var(--panel-background);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 2px 16px #00000014;margin:60px auto;max-width:480px;padding:32px 0;text-align:center}.SignupPage_header__YEihm{margin-bottom:24px;padding:0 24px;position:relative}.SignupPage_title__zeLQw{color:var(--text-color);font-size:2rem;font-weight:700;margin:0;text-align:center}.SignupPage_themeToggleBtn__\+PA0p{align-items:center;background:none;border:1px solid var(--border-color);border-radius:50%;cursor:pointer;display:flex;font-size:1.2rem;height:36px;justify-content:center;position:absolute;right:24px;top:50%;transform:translateY(-50%);width:36px}.SignupPage_card__38HbU{color:var(--text-color);padding:0 24px 32px}.SignupPage_stepper__b92U\+{display:flex;gap:32px;justify-content:center;margin-bottom:32px}.SignupPage_activeStep__xW-J0,.SignupPage_step__nYFmz{align-items:center;color:var(--text-color-secondary);display:flex;flex-direction:column;font-size:.95rem}.SignupPage_activeStep__xW-J0{color:var(--button-primary-bg);font-weight:700}.SignupPage_circle__wEMBX{align-items:center;background:var(--button-secondary-bg);border-radius:50%;color:var(--text-color);display:flex;font-size:1.1rem;font-weight:700;height:32px;justify-content:center;margin-bottom:6px;width:32px}.SignupPage_activeStep__xW-J0 .SignupPage_circle__wEMBX{background:var(--button-primary-bg);color:var(--button-primary-text)}.SignupPage_section__szZZN{margin-bottom:16px}.SignupPage_row__oj68u{align-items:center;display:flex;margin-bottom:16px;margin-left:auto;margin-right:auto;max-width:360px}.SignupPage_row__oj68u label{color:var(--text-color);flex-shrink:0;font-size:.95rem;font-weight:500;text-align:left;width:100px}.SignupPage_row__oj68u input{background-color:var(--input-bg);border:1px solid var(--border-color);border-radius:6px;color:var(--text-color);flex:1 1;font-size:1rem;padding:12px}.SignupPage_row__oj68u input::placeholder{color:var(--text-color-secondary);font-size:.85rem}.SignupPage_input__6Ar\+S{background-color:var(--input-bg);border:1px solid var(--border-color);border-radius:6px;color:var(--text-color);display:block;font-size:1rem;margin-bottom:16px;margin-left:auto;margin-right:auto;max-width:360px;padding:12px;width:100%}.SignupPage_input__6Ar\+S::placeholder{color:var(--text-color-secondary);font-size:.85rem}.SignupPage_emailContainer__Mzq\+Q{align-items:center;display:flex;gap:8px;justify-content:center;margin-bottom:16px;margin-left:auto;margin-right:auto;max-width:360px}.SignupPage_emailLocal__NOmeJ{flex:1 1;margin-bottom:0;min-width:0}.SignupPage_emailDomain__zZkuu{flex:1 1;margin-bottom:0;min-width:140px}.SignupPage_customDomainContainer__YvpEt{align-items:center;display:flex;flex:1 1;gap:4px}.SignupPage_atSymbol__5dpgY{color:var(--text-color);flex-shrink:0;font-size:1rem;font-weight:700;padding:0 4px}.SignupPage_customDomainInput__DHTXP{flex:1 1;margin-bottom:0;min-width:120px}.SignupPage_resetBtn__fOgYX{align-items:center;background:var(--button-secondary-bg);border:1px solid var(--border-color);border-radius:50%;color:var(--button-secondary-text);cursor:pointer;display:flex;flex-shrink:0;font-size:16px;font-weight:700;height:32px;justify-content:center;transition:all .2s ease;width:32px}.SignupPage_resetBtn__fOgYX:hover{background:var(--hover-bg-color);border-color:var(--button-primary-bg);color:var(--button-primary-bg)}.SignupPage_domainResetBtn__Y4koA{background:var(--button-secondary-bg);border:1px solid var(--border-color);border-radius:6px;color:var(--button-secondary-text);cursor:pointer;font-size:.9rem;margin-bottom:16px;padding:8px 16px;transition:all .2s ease}.SignupPage_domainResetBtn__Y4koA:hover{background:var(--hover-bg-color);border-color:var(--button-primary-bg)}.SignupPage_emailPreview__cwttB{background:var(--background-color-other-month);border:1px solid var(--border-color);border-radius:6px;color:var(--text-color);font-size:.95rem;margin-bottom:16px;margin-left:auto;margin-right:auto;max-width:360px;padding:12px;text-align:center}.SignupPage_emailPreview__cwttB strong{color:var(--button-primary-bg)}.SignupPage_btnRow__KkCWV{display:flex;gap:12px;justify-content:space-between}.SignupPage_nextBtn__kuaS0,.SignupPage_prevBtn__kLuZY{border:none;border-radius:6px;cursor:pointer;flex:1 1;font-size:1rem;font-weight:700;padding:12px}.SignupPage_nextBtn__kuaS0{background:var(--button-primary-bg);color:var(--button-primary-text)}.SignupPage_prevBtn__kLuZY{background:var(--button-secondary-bg);color:var(--button-secondary-text)}.SignupPage_error__MDiIY{color:var(--sunday-color);font-size:.95rem;margin-bottom:12px}.SignupPage_agreementBox__8IQ-K{background:var(--background-color-other-month);border-radius:8px;color:var(--text-color);margin-bottom:16px;padding:16px;text-align:left}.SignupPage_agreementTitle__l7-GA{font-weight:700;margin-bottom:8px}.SignupPage_agreementContent__Wd0TU{font-size:.98rem}.SignupPage_checkRow__crumJ{align-items:center;color:var(--text-color);display:flex;gap:8px;justify-content:center;margin-bottom:16px}.SignupPage_successIcon__KqEzT{color:var(--text-color);font-size:2.5rem;margin:24px 0}@media (max-width:600px){.SignupPage_container__6pgiP{border-radius:8px;margin:10px;max-width:none;padding:16px 0}.SignupPage_header__YEihm{margin-bottom:20px;padding:0 16px}.SignupPage_title__zeLQw{font-size:1.5rem}.SignupPage_card__38HbU{padding:0 16px 24px}.SignupPage_row__oj68u{align-items:stretch;flex-direction:column;gap:8px;margin-left:16px;margin-right:16px;max-width:none}.SignupPage_row__oj68u label{font-size:.9rem;margin-bottom:4px;text-align:left;width:100%}.SignupPage_row__oj68u input{box-sizing:border-box;font-size:16px;width:100%}.SignupPage_input__6Ar\+S{box-sizing:border-box;font-size:16px;margin-left:16px;margin-right:16px;max-width:none}.SignupPage_emailContainer__Mzq\+Q{flex-direction:column;gap:12px;margin-left:16px;margin-right:16px;max-width:none}.SignupPage_customDomainInput__DHTXP,.SignupPage_emailDomain__zZkuu,.SignupPage_emailLocal__NOmeJ{box-sizing:border-box;font-size:16px;max-width:none;width:100%}.SignupPage_customDomainContainer__YvpEt{width:100%}.SignupPage_stepper__b92U\+{gap:16px;margin-bottom:24px}.SignupPage_activeStep__xW-J0,.SignupPage_step__nYFmz{font-size:.85rem}.SignupPage_circle__wEMBX{font-size:.95rem;height:28px;width:28px}.SignupPage_agreementBox__8IQ-K{padding:12px}.SignupPage_agreementBox__8IQ-K,.SignupPage_btnRow__KkCWV,.SignupPage_checkRow__crumJ,.SignupPage_emailPreview__cwttB{margin-left:16px;margin-right:16px}.SignupPage_emailPreview__cwttB{max-width:none}}.ChangePasswordPage_container__mKq8q{background:var(--panel-background);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 2px 16px #00000014;margin:60px auto;max-width:480px;padding:32px 0;text-align:center}.ChangePasswordPage_card__2WZTx{color:var(--text-color);padding:0 24px 32px}.ChangePasswordPage_stepper__OnSqT{display:flex;gap:32px;justify-content:center;margin-bottom:32px}.ChangePasswordPage_activeStep__bHvdH,.ChangePasswordPage_step__4KcNJ{align-items:center;color:var(--text-color-secondary);display:flex;flex-direction:column;font-size:.95rem}.ChangePasswordPage_activeStep__bHvdH{color:var(--button-primary-bg);font-weight:700}.ChangePasswordPage_circle__a9zdb{align-items:center;background:var(--button-secondary-bg);border-radius:50%;color:var(--text-color);display:flex;font-size:1.1rem;font-weight:700;height:32px;justify-content:center;margin-bottom:6px;width:32px}.ChangePasswordPage_activeStep__bHvdH .ChangePasswordPage_circle__a9zdb{background:var(--button-primary-bg);color:var(--button-primary-text)}.ChangePasswordPage_formTitle__3Ay99{color:var(--text-color);font-size:1.1rem;font-weight:600;margin-bottom:24px}.ChangePasswordPage_row__3hUHe{align-items:center;display:flex;margin-bottom:16px;margin-left:auto;margin-right:auto;max-width:360px}.ChangePasswordPage_row__3hUHe label{color:var(--text-color);display:block;flex-shrink:0;font-size:.95rem;font-weight:500;margin-bottom:8px;text-align:left;width:100px}.ChangePasswordPage_row__3hUHe input{background-color:var(--input-bg);border:1px solid var(--border-color);border-radius:6px;color:var(--text-color);flex:1 1;font-size:1rem;padding:12px 44px 12px 12px}.ChangePasswordPage_row__3hUHe input::placeholder{color:var(--text-color-secondary);font-size:.85rem}.ChangePasswordPage_passwordContainer__0FLyw{flex:1 1;position:relative}.ChangePasswordPage_eyeButton__39mO8{align-items:center;background:none;border:none;color:#666;cursor:pointer;display:flex;height:24px;justify-content:center;padding:0;position:absolute;right:30px;top:50%;transform:translateY(-50%);width:24px;z-index:1}.ChangePasswordPage_hint__5v2dm{color:var(--text-color-secondary);font-size:.8rem;margin:4px auto 16px;max-width:360px;text-align:center}.ChangePasswordPage_btnRow__gy2\+y{display:flex;gap:12px;justify-content:space-between;margin-left:auto;margin-right:auto;max-width:360px}.ChangePasswordPage_nextBtn__qTMyf,.ChangePasswordPage_prevBtn__Phijh{border:none;border-radius:6px;cursor:pointer;flex:1 1;font-size:1rem;font-weight:700;padding:12px}.ChangePasswordPage_nextBtn__qTMyf{background:var(--button-primary-bg);color:var(--button-primary-text)}.ChangePasswordPage_prevBtn__Phijh{background:var(--button-secondary-bg);color:var(--button-secondary-text)}.ChangePasswordPage_error__belYU{color:var(--sunday-color);font-size:.95rem;margin-bottom:12px;text-align:center}.ChangePasswordPage_successContent__kczcE{padding:20px 0;text-align:center}.ChangePasswordPage_checkIcon__sl9wg{font-size:3rem;margin-bottom:16px}.ChangePasswordPage_successTitle__-QqWR{color:var(--text-color);font-size:1.3rem;font-weight:700;margin-bottom:12px}.ChangePasswordPage_successMessage__XS5Qi{color:var(--text-color-secondary);font-size:1rem;line-height:1.5;margin-bottom:24px}.App{text-align:left}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{align-items:center;background-color:#282c34;color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}