@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}.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}: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:#fff;--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}: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:#212529;--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}*{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:#fff;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:#fff!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:150px}.calendar-row.calendar-header{background:#fff;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;background:#fff;background:var(--header-bg);border-bottom:1px solid #e9ecef;border-bottom:1px solid var(--border-color);border-radius:0;border-right:1px solid #e9ecef;border-right:1px solid var(--border-color);box-sizing:border-box;display:flex;font-size:15px;font-weight:700;height:32px;justify-content:center;letter-spacing:.5px;margin:0;min-height:32px;overflow:hidden;padding:0 6px;text-align:center;z-index:1002}.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!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}.custom-calendar-wrapper{-webkit-touch-callout:none;height:100vh;margin:0!important;max-height:100vh;min-height:100vh;position:relative;touch-action:pan-y;-webkit-user-select:none;user-select:none}.calendar-content-area,.custom-calendar-wrapper{max-width:100vw!important;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;width:100vw!important}.calendar-content-area{box-sizing:border-box!important;height:100vh!important;margin-bottom:0!important;margin-left:0!important;margin-top:0!important;max-height:100vh!important}.calendar-row{margin:0!important;padding:0!important;width:100%!important}.calendar-cell,.calendar-row{box-sizing:border-box!important;min-width:0!important;overflow-x:hidden!important}.calendar-cell{border-width:.5px!important;flex:1 1!important;font-size:.75rem;min-height:100px!important;padding:1px!important;width:calc(14.28571% - .28571px)!important}.calendar-cell.auto-height{height:auto!important;min-height:auto!important}.calendar-cell.header{border-width:.5px!important;box-sizing:border-box!important;flex:1 1!important;min-width:0!important;padding:4px 0!important;width:calc(14.28571% - .28571px)!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}.calendar-cell.auto-height{padding-bottom:25px!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:#fff!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:1px solid #e9ecef!important;border-left:1px solid var(--border-color)!important;flex-shrink:0;font-size:12px;height:32px!important;margin-left:.5px;margin:0 0 -1px!important;max-height:32px!important;min-height:32px!important;overflow:hidden!important;padding:0!important;top:0}.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{border-bottom:1px solid #e9ecef!important;border-bottom:1px solid var(--border-color)!important;border-right:1px solid #e9ecef!important;border-right:1px solid var(--border-color)!important;font-size:13px!important;font-weight:600!important;height:32px!important;line-height:16px!important;margin:0 0 -1px!important;max-height:32px!important;min-height:32px!important;overflow:hidden!important;padding:8px 0!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{height:32px;top:0}}.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;overscroll-behavior-x:none!important;-webkit-overscroll-behavior-x:none!important;touch-action:pan-y!important}.calendar-row{width:100%!important}.calendar-cell,.calendar-row{min-width:0!important;overflow-x:hidden!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;width:calc(14.28571% - .28571px)!important}.calendar-cell.header{border-bottom:1px solid #e9ecef!important;border-bottom:1px solid var(--border-color)!important;border-right:1px solid #e9ecef!important;border-right:1px solid var(--border-color)!important;font-size:12px!important;font-weight:600!important;height:28px!important;line-height:16px!important;margin:0 0 -1px!important;max-height:28px!important;min-height:28px!important;min-width:0!important;overflow:hidden!important;padding:6px 0!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}}.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)}}.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:280px}.admin-header{background-color:#fafafa;border-bottom:1px solid #e0e0e0;padding:24px 20px}.admin-header h2{color:#333;font-size:20px;font-weight:600;margin:0 0 16px}.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:16px 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:12px 20px;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}}.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{background-color:#4285f4;color:#fff}.btn-primary:hover{background-color:#3367d6}.btn-secondary{background-color:#f8f9fa;border:1px solid #e0e0e0;color:#333}.btn-secondary:hover{background-color:#e8f0fe;border-color:#4285f4;color:#4285f4}.btn-danger{background-color:#dc3545;color:#fff}.btn-danger:hover{background-color:#c82333}.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{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;max-height:90vh;max-width:600px;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;display:flex;gap:12px;justify-content:flex-end;padding:16px 24px}.badge{border-radius:12px;display:inline-block;font-size:12px;font-weight:500;padding:4px 8px}.badge-primary{background-color:#e3f2fd;color:#1976d2}.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{max-width:200px}.management-actions{align-items:center;display:flex;gap:12px;justify-content:center}