:root{--charleston-green:#2a2829;--dark-sky-blue:#97b4de;--royal-blue:#263a99;--alabaster-white:#f0ebe5;--pastel-gray:#dcd0be;--text-primary-dugigo:var(--charleston-green);--text-secondary-dugigo:#6c757d;--text-muted-dugigo:#636e72;--background-primary-dugigo:var(--alabaster-white);--background-secondary-dugigo:var(--pastel-gray);--accent-primary-dugigo:var(--royal-blue);--accent-secondary-dugigo:var(--dark-sky-blue);--blue-oblivion:var(--royal-blue);--sapphire-dust:var(--dark-sky-blue);--caramel-essence:#e3af64;--primary:var(--royal-blue);--primary-light:var(--dark-sky-blue);--primary-dark:#1a2c6b;--secondary:var(--dark-sky-blue);--secondary-light:#b5c9e8;--secondary-dark:#7a9bd1;--accent:var(--caramel-essence);--success:#66bb6a;--success-light:#10b981;--success-bright:#22c55e;--warning:#ffa726;--warning-light:#f59e0b;--error:#ef5350;--error-light:#ef4444;--info:#85c1e9;--state-success:#28a745;--state-warning:#ffc107;--state-danger:#dc3545;--state-success-light:#10b981;--state-warning-light:#f59e0b;--state-danger-light:#ef4444;--surface-muted:#f8f9fa;--border-subtle:#e9ecef;--border-neutral:#e5e7eb;--bg-card-dugigo:#fff;--bg-hover-dugigo:#f8f9fa;--gray-100:#f1f1f1;--gray-300:#c1c1c1;--gray-400:#a8a8a8;--gray-500:#b0b0b0;--gray-600:#909090;--gradient-primary-dugigo:linear-gradient(135deg,var(--royal-blue) 0%,var(--dark-sky-blue) 100%);--gradient-background-dugigo:linear-gradient(135deg,#f5f7fa,#c3cfe2);--gradient-text-dugigo:linear-gradient(135deg,#667eea,#764ba2);--gradient-indigo:linear-gradient(135deg,#667eea,#764ba2);--gradient-primary:linear-gradient(135deg,var(--primary) 0%,var(--secondary) 100%);--gradient-secondary:linear-gradient(135deg,var(--secondary) 0%,var(--primary) 100%);--gradient-primary-hover:linear-gradient(135deg,var(--primary-dark) 0%,var(--secondary-dark) 100%);--text-primary:var(--charleston-green);--text-secondary:var(--text-secondary-dugigo);--text-tertiary:var(--text-muted-dugigo);--text-disabled:#85929e;--bg-primary:var(--alabaster-white);--bg-secondary:var(--pastel-gray);--bg-card:var(--bg-card-dugigo);--bg-elevated:var(--bg-card-dugigo);--border-light:var(--border-subtle);--border-medium:var(--border-neutral);--border-dark:#00000040;--border-focus:var(--primary);--border-card:var(--border-subtle);--shadow-light:var(--shadow-light-dugigo);--shadow-medium:var(--shadow-medium-dugigo);--shadow-heavy:var(--shadow-heavy-dugigo);--shadow-button:var(--shadow-medium-dugigo);--shadow-button-hover:var(--shadow-heavy-dugigo);--spacing-xs:4px;--spacing-sm:8px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px;--spacing-2xl:48px;--font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans KR",Roboto,sans-serif;--font-size-xs:0.75rem;--font-size-sm:0.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:1.875rem;--font-size-4xl:2.25rem;--font-weight-bold:700;--font-weight-medium:500;--font-weight-normal:400;--line-height-tight:1.2;--line-height-normal:1.5;--line-height-relaxed:1.75;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--radius-full:50%;--mobile-max-width:767px;--tablet-min-width:768px;--tablet-max-width:1024px;--desktop-min-width:1025px;--sidebar-width-desktop:240px;--sidebar-width-tablet:200px;--sidebar-width-mobile:180px;--shadow-light-dugigo:0 2px 8px #0000000d;--shadow-medium-dugigo:0 4px 12px #00000014;--shadow-heavy-dugigo:0 8px 25px #00000026;--transition-fast:0.2s ease;--transition-normal:0.3s ease;--transition-slow:0.5s ease;--brand-primary:var(--royal-blue);--brand-secondary:var(--dark-sky-blue);--brand-text:var(--charleston-green);--brand-background:var(--alabaster-white);--brand-surface:var(--pastel-gray);--chart-axis:#6b7280;--chart-grid:#e5e7eb;--chart-primary:var(--royal-blue);--chart-secondary:var(--dark-sky-blue);--chart-success:var(--state-success);--chart-warning:var(--state-warning);--chart-danger:var(--state-danger);--method-meeting-bg:#e3f2fd;--method-meeting-text:#1976d2;--method-call-bg:#f3e5f5;--method-call-text:#7b1fa2;--method-kakao-bg:#fff3e0;--method-kakao-text:#f57c00;--icon-inactive:#ccc;--icon-favorite:gold;--gradient-logo:linear-gradient(135deg,var(--alabaster-white) 0%,var(--pastel-gray) 100%)}*{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f0ebe5;background-color:var(--bg-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0;padding:0}#root,body,html{overflow-x:hidden}.container{margin:0 auto;max-width:1200px;padding:0 16px;padding:0 var(--spacing-md)}.primary-color{color:#263a99!important;color:var(--primary)!important}.text-secondary-color{color:#6c757d!important;color:var(--text-secondary)!important}.text-tertiary-color{color:#636e72!important;color:var(--text-tertiary)!important}.mt-2{margin-top:8px!important;margin-top:var(--spacing-sm)!important}.mb-1{margin-bottom:4px!important;margin-bottom:var(--spacing-xs)!important}.mb-2{margin-bottom:8px!important;margin-bottom:var(--spacing-sm)!important}.mb-3{margin-bottom:16px!important;margin-bottom:var(--spacing-md)!important}.mt-4{margin-top:32px!important;margin-top:var(--spacing-xl)!important}.mr-1{margin-right:4px!important;margin-right:var(--spacing-xs)!important}.text-center{text-align:center!important}.font-medium{font-weight:500!important;font-weight:var(--font-weight-medium)!important}.max-width-300{max-width:300px!important}.height-50vh{height:50vh!important}.height-56{height:56px!important}.loading-inline{padding:8px;padding:var(--spacing-sm)}.empty-state-container,.loading-inline{align-items:center;display:flex;flex-direction:column}.empty-state-container{padding:24px;padding:var(--spacing-lg);text-align:center}.empty-state-icon{color:#6c757d;color:var(--text-secondary);margin-bottom:8px;margin-bottom:var(--spacing-sm)}.empty-state-action{margin-top:8px;margin-top:var(--spacing-sm)}.center-loading{padding:40px;text-align:center}.error-text{color:#ef5350!important;color:var(--error)!important}.clickable{cursor:pointer}.non-clickable{cursor:default}.empty-message{color:#6c757d;color:var(--text-secondary);padding:20px;text-align:center}.primary-link{color:#263a99;color:var(--primary);text-decoration:none}.mobile-restriction-overlay{align-items:center;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);background:var(--gradient-background-dugigo);display:none;flex-direction:column;height:100vh;justify-content:center;left:0;padding:32px;padding:var(--spacing-xl);position:fixed;text-align:center;top:0;width:100vw;z-index:9999}.mobile-restriction-content{background:#fff;background:var(--bg-card-dugigo);border-radius:24px;border-radius:var(--radius-xl);box-shadow:0 8px 25px #00000026;box-shadow:var(--shadow-heavy-dugigo);max-width:400px;padding:48px;padding:var(--spacing-2xl);width:100%}.mobile-restriction-title{color:#2a2829;color:var(--brand-text);font-size:1.5rem;font-size:var(--font-size-2xl);font-weight:700;font-weight:var(--font-weight-bold);margin-bottom:16px;margin-bottom:var(--spacing-md)}.mobile-restriction-message{color:#6c757d;color:var(--text-secondary-dugigo);font-size:1rem;font-size:var(--font-size-base);line-height:1.75;line-height:var(--line-height-relaxed);margin-bottom:24px;margin-bottom:var(--spacing-lg)}.mobile-restriction-button{background:linear-gradient(135deg,#263a99,#97b4de);background:var(--gradient-primary-dugigo);border:none;border-radius:8px;border-radius:var(--radius-sm);color:#fff;cursor:pointer;font-size:1rem;font-size:var(--font-size-base);font-weight:500;font-weight:var(--font-weight-medium);padding:8px 24px;padding:var(--spacing-sm) var(--spacing-lg);transition:.3s ease;transition:var(--transition-normal)}.mobile-restriction-button:hover{box-shadow:0 4px 12px #00000014;box-shadow:var(--shadow-medium-dugigo);transform:translateY(-1px)}@media (max-width:767px){.mobile-restriction-overlay{display:flex}.mobile-restriction-overlay.allow-mobile{display:none}}.flex{display:flex}.flex-center{align-items:center;display:flex;justify-content:center}.flex-column{display:flex;flex-direction:column}.flex-between{align-items:center;display:flex;justify-content:space-between}.grid{display:grid}.card{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#dcd0be;background:var(--bg-secondary);border:1px solid #e9ecef;border:1px solid var(--border-card);border-radius:16px;border-radius:var(--radius-lg);box-shadow:0 8px 25px #00000026;box-shadow:var(--shadow-heavy)}.button{background:linear-gradient(135deg,#263a99,#97b4de);background:var(--gradient-primary);border:none;border-radius:24px;border-radius:var(--radius-xl);box-shadow:0 4px 12px #00000014;box-shadow:var(--shadow-button);color:#fff;cursor:pointer;font-size:var(--text-lg);font-weight:600;height:60px;padding:0 32px;padding:0 var(--spacing-xl);text-transform:none;transition:all .3s ease;transition:all var(--transition-normal)}.button:hover{background:linear-gradient(135deg,#1a2c6b,#7a9bd1);background:var(--gradient-primary-hover);box-shadow:0 8px 25px #00000026;box-shadow:var(--shadow-button-hover);transform:translateY(-2px)}.button:disabled{background:linear-gradient(45deg,#b0b0b0 30%,#909090 90%);background:linear-gradient(45deg,var(--gray-500) 30%,var(--gray-600) 90%);box-shadow:none;cursor:not-allowed;transform:none}.input-field{background-color:#dcd0be;background-color:var(--bg-secondary);border:1px solid #e9ecef;border:1px solid var(--border-light);border-radius:12px;border-radius:var(--radius-md);box-shadow:0 2px 8px #0000000d;box-shadow:var(--shadow-light);font-size:var(--text-base);height:56px;padding:0 16px;padding:0 var(--spacing-md);transition:all .3s ease;transition:all var(--transition-normal)}.input-field:hover{border:1px solid var(--primary-color);box-shadow:0 4px 12px #00000014;box-shadow:var(--shadow-medium)}.input-field:focus,.input-field:hover{background-color:#fff;background-color:var(--bg-card)}.input-field:focus{border:1px solid #263a99;border:1px solid var(--border-focus);box-shadow:0 0 0 3px #3b82f61a,0 4px 12px #00000014;box-shadow:0 0 0 3px #3b82f61a,var(--shadow-medium);outline:none}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-bold{font-weight:700}.text-muted{color:var(--text-muted)}.text-primary{color:var(--primary-color)}.m-0{margin:0}.m-1{margin:4px;margin:var(--spacing-xs)}.m-2{margin:8px;margin:var(--spacing-sm)}.m-3{margin:16px;margin:var(--spacing-md)}.m-4{margin:24px;margin:var(--spacing-lg)}.m-5{margin:32px;margin:var(--spacing-xl)}.p-0{padding:0}.p-1{padding:4px;padding:var(--spacing-xs)}.p-2{padding:8px;padding:var(--spacing-sm)}.p-3{padding:16px;padding:var(--spacing-md)}.p-4{padding:24px;padding:var(--spacing-lg)}.p-5{padding:32px;padding:var(--spacing-xl)}.mb-1{margin-bottom:4px;margin-bottom:var(--spacing-xs)}.mb-2{margin-bottom:8px;margin-bottom:var(--spacing-sm)}.mb-3{margin-bottom:16px;margin-bottom:var(--spacing-md)}.mb-4{margin-bottom:24px;margin-bottom:var(--spacing-lg)}.mb-5{margin-bottom:32px;margin-bottom:var(--spacing-xl)}.mt-1{margin-top:4px;margin-top:var(--spacing-xs)}.mt-2{margin-top:8px;margin-top:var(--spacing-sm)}.mt-3{margin-top:16px;margin-top:var(--spacing-md)}.mt-4{margin-top:24px;margin-top:var(--spacing-lg)}.mt-5{margin-top:32px;margin-top:var(--spacing-xl)}@media (max-width:600px){.container{padding:0 8px;padding:0 var(--spacing-sm)}.button{font-size:var(--text-base);height:56px}.input-field{font-size:var(--text-sm);height:52px}}@keyframes slideIn{0%{transform:translateX(-100%)}to{transform:translateX(0)}}.fade-in{animation:fadeIn .5s ease-out}.slide-in{animation:slideIn .3s ease-out}.pulse{animation:pulse 2s infinite}.spinner{animation:spin 1s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:24px;width:24px}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}:focus{outline:2px solid var(--primary-color);outline-offset:2px}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#f0ebe5;background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--text-muted);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#6c757d;background:var(--text-secondary)}.auth-container{flex-direction:column;padding:16px;padding:var(--spacing-md)}.auth-paper{border-radius:16px;border-radius:var(--radius-lg);box-shadow:0 8px 32px #0000001a;padding:32px;padding:var(--spacing-xl)}.common-textfield{margin-bottom:16px;margin-bottom:var(--spacing-md)}.common-textfield .MuiOutlinedInput-root{border-radius:var(--radius-md)}.common-textfield .MuiOutlinedInput-root:hover .MuiOutlinedInput-notchedOutline{border-color:#263a99;border-color:var(--primary)}.common-textfield .MuiOutlinedInput-root.Mui-focused .MuiOutlinedInput-notchedOutline{border-color:#263a99;border-color:var(--primary);box-shadow:0 0 0 3px #4ecdc41a}.common-button{background:linear-gradient(135deg,#263a99,#97b4de);background:var(--gradient-primary);border-radius:24px;font-size:1rem;font-size:var(--font-size-base);font-weight:500;font-weight:var(--font-weight-medium);height:48px;margin-top:8px;margin-top:var(--spacing-sm);transition:all .3s ease}.common-button:hover{background:linear-gradient(135deg,#1a2c6b,#7a9bd1);background:linear-gradient(135deg,var(--primary-dark) 0,var(--secondary-dark) 100%);box-shadow:0 6px 16px #4ecdc459;transform:translateY(-1px)}.header-box{align-items:center;display:flex;margin-bottom:24px;margin-bottom:var(--spacing-lg);position:relative;width:100%}.user-info-box{background-color:#fff;background-color:var(--bg-card);border-radius:12px;border-radius:var(--radius-md);padding:16px;padding:var(--spacing-md)}.welcome-container{align-items:center;background:#f0ebe5;background:var(--bg-primary);display:flex;flex-direction:column;justify-content:center;min-height:100vh;padding:24px;padding:var(--spacing-lg)}.welcome-image{height:auto;margin-bottom:24px;margin-bottom:var(--spacing-lg);max-height:200px;max-width:200px;object-fit:contain;width:auto}.welcome-text{color:#2a2829;color:var(--text-primary);font-size:1rem;font-size:var(--font-size-base);font-weight:500;font-weight:var(--font-weight-medium);line-height:1.5;line-height:var(--line-height-normal);margin-bottom:32px;margin-bottom:var(--spacing-xl);max-width:80%;text-align:center}.common-card{background:#fff;background:var(--bg-elevated);border:1px solid #e9ecef;border:1px solid var(--border-light);border-radius:16px;border-radius:var(--radius-lg);box-shadow:0 2px 8px #0000000d;margin-bottom:16px;margin-bottom:var(--spacing-md);padding:24px;padding:var(--spacing-lg);transition:all .3s ease}.common-card:hover{box-shadow:0 4px 16px #0000001a}.input-group{display:flex;flex-direction:column;gap:24px;gap:var(--spacing-lg)}.button-group{display:flex;gap:16px;gap:var(--spacing-md);justify-content:flex-end;margin-top:16px;margin-top:var(--spacing-md)}.button-group.centered{justify-content:center}.button-group.full-width{flex-direction:column}.login-container{align-items:center;background-color:#f0ebe5;background-color:var(--bg-primary);display:flex;justify-content:center;min-height:100vh;padding:16px;padding:var(--spacing-md)}.login-paper{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#dcd0be;background:var(--bg-secondary);border:1px solid #e9ecef;border:1px solid var(--border-card);border-radius:16px;border-radius:var(--radius-lg);box-shadow:0 8px 25px #00000026;box-shadow:var(--shadow-heavy);max-width:480px;padding:32px;padding:var(--spacing-xl);width:100%}.login-header{margin-bottom:32px;margin-bottom:var(--spacing-xl);text-align:center}.login-title{color:#2a2829;color:var(--text-primary);font-weight:700;margin-bottom:8px;margin-bottom:var(--spacing-sm)}.user-icon-container{display:flex;justify-content:center;margin-bottom:24px;margin-bottom:var(--spacing-lg)}.user-icon-circle{align-items:center;background:#fff;border:1px solid #e9ecef;border:1px solid var(--border-card);border-radius:50%;border-radius:var(--radius-full);box-shadow:0 8px 25px #00000026;box-shadow:var(--shadow-heavy);display:flex;height:90px;justify-content:center;width:90px}.login-input-field{margin-bottom:24px;margin-bottom:var(--spacing-lg)}.login-input-field .MuiOutlinedInput-root{background-color:#dcd0be;background-color:var(--bg-secondary);border:1px solid #e9ecef;border:1px solid var(--border-light);border-radius:12px;border-radius:var(--radius-md);box-shadow:0 2px 8px #0000000d;box-shadow:var(--shadow-light);height:56px;transition:all .3s ease;transition:all var(--transition-normal)}.login-input-field .MuiOutlinedInput-root:hover{background-color:#fff;background-color:var(--bg-card);border:1px solid var(--primary-color);box-shadow:0 4px 12px #00000014;box-shadow:var(--shadow-medium)}.login-input-field .MuiOutlinedInput-root.Mui-focused{background-color:#fff;background-color:var(--bg-card);border:1px solid #263a99;border:1px solid var(--border-focus);box-shadow:0 0 0 3px #3b82f61a,0 4px 12px #00000014;box-shadow:0 0 0 3px #3b82f61a,var(--shadow-medium)}.login-input-field .MuiInputBase-input{font-size:var(--text-base);text-align:center}.login-input-field .MuiInputBase-input::placeholder{color:var(--text-muted);opacity:1;text-align:center}.links-container{align-items:center;display:flex;flex-direction:column;gap:8px;gap:var(--spacing-sm);justify-content:center;margin-bottom:24px;margin-bottom:var(--spacing-lg)}.link{color:var(--primary-color);font-size:var(--text-sm);text-decoration:none;transition:-webkit-text-decoration .2s ease;transition:text-decoration .2s ease;transition:text-decoration .2s ease,-webkit-text-decoration .2s ease;transition:-webkit-text-decoration var(--transition-fast);transition:text-decoration var(--transition-fast);transition:text-decoration var(--transition-fast),-webkit-text-decoration var(--transition-fast)}.link:hover{text-decoration:underline}.encouragement-text{color:#6c757d;color:var(--text-secondary);font-size:var(--text-sm);line-height:1.5;margin-bottom:24px;margin-bottom:var(--spacing-lg);text-align:center}.login-button{background:linear-gradient(135deg,#263a99,#97b4de);background:var(--gradient-primary);border-radius:24px;border-radius:var(--radius-xl);box-shadow:0 4px 12px #00000014;box-shadow:var(--shadow-button);font-size:var(--text-lg);font-weight:600;height:60px;text-transform:none;transition:all .3s ease;transition:all var(--transition-normal)}.login-button:hover{background:linear-gradient(135deg,#1a2c6b,#7a9bd1);background:var(--gradient-primary-hover);box-shadow:0 8px 25px #00000026;box-shadow:var(--shadow-button-hover);transform:translateY(-2px)}.login-button:disabled{background:linear-gradient(45deg,#b0b0b0 30%,#909090 90%);background:linear-gradient(45deg,var(--gray-500) 30%,var(--gray-600) 90%);box-shadow:none;transform:none}.error-alert{border-radius:8px;border-radius:var(--radius-sm);margin-bottom:24px;margin-bottom:var(--spacing-lg)}.password-toggle-button{color:var(--text-muted);transition:color .2s ease;transition:color var(--transition-fast)}.password-toggle-button:hover{color:#6c757d;color:var(--text-secondary)}@keyframes fadeOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-20px)}}.fadeIn{animation:fadeIn 1.5s ease-in-out forwards}.fadeOut{animation:fadeOut 1s ease-in-out forwards}@media (min-width:600px){.links-container{flex-direction:row;gap:0;justify-content:space-between}}@media (max-width:600px){.login-paper{margin:8px;margin:var(--spacing-sm);padding:24px;padding:var(--spacing-lg)}.login-title{font-size:var(--text-2xl)}.user-icon-circle{height:80px;width:80px}.login-input-field .MuiOutlinedInput-root{height:52px}.login-button{font-size:var(--text-base);height:56px}}@media (max-width:480px){.auth-paper{margin:16px;margin:var(--spacing-md);padding:24px;padding:var(--spacing-lg)}.button-group{flex-direction:column;gap:8px;gap:var(--spacing-sm)}.welcome-image{max-height:150px;max-width:150px}.welcome-text{font-size:.875rem;font-size:var(--font-size-sm);line-height:1.75;line-height:var(--line-height-relaxed);max-width:95%}.welcome-container{padding:16px;padding:var(--spacing-md)}}.service-selection-container{margin:0 auto;max-width:600px;padding:24px 16px;padding:var(--spacing-lg) var(--spacing-md)}.service-header{margin-bottom:48px;margin-bottom:var(--spacing-2xl);text-align:center}.service-title{color:#2a2829;color:var(--text-primary);font-size:1.125rem;font-size:var(--font-size-lg);font-weight:700;font-weight:var(--font-weight-bold)}.service-subtitle,.service-title{margin-bottom:4px;margin-bottom:var(--spacing-xs)}.service-subtitle{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#263a99,#97b4de);background:var(--gradient-primary);background-clip:text;-webkit-background-clip:text;font-size:1rem;font-size:var(--font-size-base);font-weight:500;font-weight:var(--font-weight-medium)}.service-cards-container{display:flex;flex-direction:column;gap:24px;gap:var(--spacing-lg)}.service-card{background:#fff;background:var(--bg-elevated);border:1px solid #e9ecef;border:1px solid var(--border-light);border-radius:16px;border-radius:var(--radius-lg);box-shadow:0 4px 20px #00000014;padding:32px;padding:var(--spacing-xl);transition:all .3s ease}.service-card:hover{box-shadow:0 8px 30px #0000001f;transform:translateY(-2px)}.service-card-content{text-align:center}.service-icon-container{align-items:center;border-radius:12px;border-radius:var(--radius-md);box-shadow:0 4px 16px #4ecdc44d;display:flex;height:64px;justify-content:center;margin:0 auto 16px;margin:0 auto var(--spacing-md);width:64px}.service-icon-container.primary{background:linear-gradient(135deg,#263a99,#97b4de);background:var(--gradient-primary)}.service-icon-container.secondary{background:linear-gradient(135deg,#97b4de,#263a99);background:var(--gradient-secondary)}.service-card-title{color:#2a2829;color:var(--text-primary);font-size:var(--font-size-md);font-weight:700;font-weight:var(--font-weight-bold);margin-bottom:4px;margin-bottom:var(--spacing-xs)}.service-card-subtitle{margin-bottom:24px;margin-bottom:var(--spacing-lg)}.service-card-description,.service-card-subtitle{color:#6c757d;color:var(--text-secondary);font-size:.875rem;font-size:var(--font-size-sm)}.service-card-description{line-height:1.5;line-height:var(--line-height-normal);margin-bottom:32px;margin-bottom:var(--spacing-xl)}.service-select-button{background:linear-gradient(135deg,#263a99,#97b4de);background:var(--gradient-primary);border:none;border-radius:12px;border-radius:var(--radius-md);box-shadow:0 4px 16px #4ecdc44d;color:#fff;cursor:pointer;font-size:.875rem;font-size:var(--font-size-sm);font-weight:700;font-weight:var(--font-weight-bold);padding:16px 24px;padding:var(--spacing-md) var(--spacing-lg);transition:all .3s ease;width:100%}.service-select-button:hover{background:linear-gradient(135deg,#97b4de,#263a99);background:var(--gradient-secondary);box-shadow:0 6px 24px #4ecdc466;transform:translateY(-1px)}@media (max-width:768px){.service-title{font-size:1rem;font-size:var(--font-size-base)}.service-subtitle{font-size:.875rem;font-size:var(--font-size-sm)}.service-card-title{font-size:1rem;font-size:var(--font-size-base)}.service-icon-container{height:56px;width:56px}}.member-management-container{margin:0 auto;max-width:800px;padding:24px 16px;padding:var(--spacing-lg) var(--spacing-md)}.member-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:32px;margin-bottom:var(--spacing-xl);padding:0 8px;padding:0 var(--spacing-sm)}.member-header-left{align-items:center;display:flex;gap:16px;gap:var(--spacing-md)}.member-back-button{background:none;border:none;border-radius:8px;border-radius:var(--radius-sm);color:#6c757d;color:var(--text-secondary);cursor:pointer;padding:4px;padding:var(--spacing-xs);transition:all .2s ease}.member-back-button:hover{background:#fff;background:var(--bg-card);color:#2a2829;color:var(--text-primary)}.member-title{color:#2a2829;color:var(--text-primary);font-size:1.125rem;font-size:var(--font-size-lg);font-weight:700;font-weight:var(--font-weight-bold);margin:0}.member-close-button{background:none;border:none;border-radius:8px;border-radius:var(--radius-sm);color:#6c757d;color:var(--text-secondary);cursor:pointer;padding:4px;padding:var(--spacing-xs);transition:all .2s ease}.member-close-button:hover{background:#fff;background:var(--bg-card);color:#2a2829;color:var(--text-primary)}.member-info-container{background:#fff;background:var(--bg-elevated);border:1px solid #e9ecef;border:1px solid var(--border-light);border-radius:16px;border-radius:var(--radius-lg);margin-bottom:32px;margin-bottom:var(--spacing-xl);padding:32px;padding:var(--spacing-xl);text-align:center}.member-group-name{color:#2a2829;color:var(--text-primary);font-size:1rem;font-size:var(--font-size-base);font-weight:700;font-weight:var(--font-weight-bold);margin-bottom:4px;margin-bottom:var(--spacing-xs)}.member-description{color:#6c757d;color:var(--text-secondary);font-size:.875rem;font-size:var(--font-size-sm);margin-bottom:24px;margin-bottom:var(--spacing-lg)}.member-stats-container{display:flex;justify-content:space-around;margin-bottom:32px;margin-bottom:var(--spacing-xl)}.member-stat-item{text-align:center}.member-stat-icon{height:24px;width:24px}.member-stat-icon,.member-stat-label{color:#6c757d;color:var(--text-secondary);margin-bottom:4px;margin-bottom:var(--spacing-xs)}.member-stat-label{font-size:.875rem;font-size:var(--font-size-sm)}.member-stat-value{color:#2a2829;color:var(--text-primary);font-size:1.125rem;font-size:var(--font-size-lg);font-weight:700;font-weight:var(--font-weight-bold)}.member-stat-unit{color:#6c757d;color:var(--text-secondary);font-size:.875rem;font-size:var(--font-size-sm);margin-left:4px;margin-left:var(--spacing-xs)}.member-list-container{background:#fff;background:var(--bg-elevated);border:1px solid #e9ecef;border:1px solid var(--border-light);border-radius:16px;border-radius:var(--radius-lg);overflow:hidden}.member-item{align-items:center;display:flex;padding:16px;padding:var(--spacing-md);transition:background-color .2s ease}.member-item:hover{background:#fff;background:var(--bg-card)}.member-avatar{align-items:center;background:linear-gradient(135deg,#263a99,#97b4de);background:var(--gradient-primary);border-radius:50%;display:flex;flex-shrink:0;height:48px;justify-content:center;margin-right:16px;margin-right:var(--spacing-md);width:48px}.member-avatar-text{color:#fff;font-weight:700;font-weight:var(--font-weight-bold)}.member-avatar-text,.member-name{font-size:1rem;font-size:var(--font-size-base)}.member-role{border-radius:8px;border-radius:var(--radius-sm);color:#fff;display:inline-block;font-size:.75rem;font-size:var(--font-size-xs);margin-right:4px;margin-right:var(--spacing-xs);padding:2px 8px}.member-role,.member-role.순원{background:#263a99;background:var(--primary)}.member-role.새가족{background:#ffa726;background:var(--warning)}.member-role.순장{background:#97b4de;background:var(--secondary)}.member-role.EBS{background:#85c1e9;background:var(--info)}.member-role.장단결자{background:#ef5350;background:var(--error)}.member-actions{display:flex;gap:4px;gap:var(--spacing-xs)}.member-action-button{background:none;border:none;border-radius:8px;border-radius:var(--radius-sm);color:#6c757d;color:var(--text-secondary);cursor:pointer;padding:4px;padding:var(--spacing-xs);transition:all .2s ease}.member-action-button:hover{background:#fff;background:var(--bg-card);color:#2a2829;color:var(--text-primary)}@media (max-width:768px){.member-management-container{padding:16px 8px;padding:var(--spacing-md) var(--spacing-sm)}.member-stats-container{flex-direction:column;gap:16px;gap:var(--spacing-md)}.member-stat-item{align-items:center;background:#fff;background:var(--bg-card);border-radius:12px;border-radius:var(--radius-md);display:flex;justify-content:space-between;padding:16px;padding:var(--spacing-md)}.member-header{margin-bottom:24px;margin-bottom:var(--spacing-lg)}.member-title{font-size:1rem;font-size:var(--font-size-base)}}.meeting-records-container{background-color:#dcd0be;background-color:var(--bg-secondary);margin:0 auto;max-width:1200px;min-height:100vh;padding:24px 16px;padding:var(--spacing-lg) var(--spacing-md)}.meeting-header{align-items:center;background:#fff;background:var(--bg-elevated);border-radius:16px;border-radius:var(--radius-lg);box-shadow:0 2px 8px #0000000d;box-shadow:var(--shadow-light);display:flex;justify-content:space-between;margin-bottom:32px;margin-bottom:var(--spacing-xl);padding:24px;padding:var(--spacing-lg)}.meeting-header-left{align-items:center;display:flex;gap:16px;gap:var(--spacing-md)}.meeting-back-button{align-items:center;background:none;border:none;border-radius:8px;border-radius:var(--radius-sm);color:#6c757d;color:var(--text-secondary);cursor:pointer;display:flex;justify-content:center;padding:4px;padding:var(--spacing-xs);transition:all .2s ease}.meeting-back-button:hover{background:#fff;background:var(--bg-card);color:#2a2829;color:var(--text-primary)}.meeting-title{color:#2a2829;color:var(--text-primary);font-size:1.125rem;font-size:var(--font-size-lg);font-weight:700;font-weight:var(--font-weight-bold);margin:0}.meeting-close-button{align-items:center;background:none;border:none;border-radius:8px;border-radius:var(--radius-sm);color:#6c757d;color:var(--text-secondary);cursor:pointer;display:flex;justify-content:center;padding:4px;padding:var(--spacing-xs);transition:all .2s ease}.meeting-close-button:hover{background:#fff;background:var(--bg-card);color:#2a2829;color:var(--text-primary)}.meeting-add-button{background:linear-gradient(135deg,#263a99,#97b4de)!important;background:var(--gradient-primary)!important;box-shadow:0 4px 12px #00000014!important;box-shadow:var(--shadow-button)!important;transition:all .3s ease!important}.meeting-add-button:hover{background:linear-gradient(135deg,#1a2c6b,#7a9bd1)!important;background:var(--gradient-primary-hover)!important;box-shadow:0 8px 25px #00000026!important;box-shadow:var(--shadow-button-hover)!important;transform:translateY(-2px)!important}.image-upload-text{color:#6c757d;color:var(--text-secondary);font-size:1rem;font-size:var(--font-size-base);font-weight:500;font-weight:var(--font-weight-medium);margin-bottom:4px;margin-bottom:var(--spacing-xs)}.upload-text-en{color:#636e72;color:var(--text-tertiary);font-size:.875rem;font-size:var(--font-size-sm)}.meeting-info{padding:24px;padding:var(--spacing-lg)}.meeting-week-tag{border-radius:20px;color:#fff;display:inline-block;font-size:.875rem;font-size:var(--font-size-sm);font-weight:700;font-weight:var(--font-weight-bold);padding:6px 12px}.meeting-date-info,.meeting-week-tag{margin-bottom:16px;margin-bottom:var(--spacing-md)}.meeting-date-info{align-items:center;display:flex;gap:8px;gap:var(--spacing-sm)}.calendar-icon{font-size:20px}.meeting-date{color:#2a2829;color:var(--text-primary);font-size:1rem;font-size:var(--font-size-base);font-weight:500;font-weight:var(--font-weight-medium)}.meeting-record-info{align-items:center;display:flex;gap:8px;gap:var(--spacing-sm);margin-bottom:24px;margin-bottom:var(--spacing-lg)}.clock-icon{font-size:20px}.meeting-record-text{color:#6c757d;color:var(--text-secondary);font-size:.875rem;font-size:var(--font-size-sm)}.meeting-actions{align-items:center;display:flex;gap:8px;gap:var(--spacing-sm);justify-content:flex-end}.meeting-action-button{align-items:center;background:none;border:none;border-radius:8px;border-radius:var(--radius-sm);color:#6c757d;color:var(--text-secondary);cursor:pointer;display:flex;gap:4px;gap:var(--spacing-xs);padding:4px;padding:var(--spacing-xs);transition:all .2s ease}.meeting-action-button:hover{background:#fff;background:var(--bg-card);color:#2a2829;color:var(--text-primary)}.meeting-action-button.edit:hover{color:#263a99;color:var(--primary)}.meeting-action-button.delete:hover{color:#ef5350;color:var(--error)}.meeting-action-button.detail{background:#263a99;background:var(--primary);border-radius:12px;border-radius:var(--radius-md);color:#fff;font-size:.875rem;font-size:var(--font-size-sm);padding:4px 16px;padding:var(--spacing-xs) var(--spacing-md)}.meeting-action-button.detail:hover{background:#1a2c6b;background:var(--primary-dark);color:#fff}.detail-text{font-size:.875rem;font-size:var(--font-size-sm);font-weight:500;font-weight:var(--font-weight-medium)}.meeting-add-button{background:#263a99;background:var(--primary);border:none;border-radius:50%;bottom:24px;box-shadow:0 4px 16px #4ecdc466;color:#fff;cursor:pointer;height:56px;position:fixed;right:24px;transition:all .3s ease;width:56px}.meeting-add-button:hover{background:#1a2c6b;background:var(--primary-dark);box-shadow:0 6px 24px #4ecdc480;transform:scale(1.1)}@media (max-width:768px){.meeting-records-container{padding:16px 8px;padding:var(--spacing-md) var(--spacing-sm)}.meeting-image-area{height:150px}.coram-deo-logo{font-size:20px}.meeting-actions{align-items:stretch;flex-direction:column;gap:8px;gap:var(--spacing-sm)}.meeting-action-button.detail{justify-content:center;text-align:center}.meeting-header{margin-bottom:24px;margin-bottom:var(--spacing-lg)}.meeting-title{font-size:1rem;font-size:var(--font-size-base)}}.meeting-add-container{background-color:#f5f5f5;margin:0 auto;max-width:600px;min-height:100vh;padding:24px 16px;padding:var(--spacing-lg) var(--spacing-md)}.meeting-add-content{display:flex;flex-direction:column;gap:24px;gap:var(--spacing-lg);margin-bottom:100px}.meeting-image-card{border-radius:var(--radius-lg);box-shadow:0 2px 8px #0000001a}.meeting-image-upload-area{align-items:center;background:linear-gradient(135deg,#e8f7f7,#f0f9f9);background-position:50%;background-repeat:no-repeat;background-size:cover;display:flex;height:220px;justify-content:center;position:relative}.image-upload-placeholder{color:#6c757d;color:var(--text-secondary);text-align:center}.image-upload-button{background-color:#fff;background-color:var(--bg-elevated);border:1px solid #e5e7eb;border:1px solid var(--border-medium);border-radius:16px;border-radius:var(--radius-lg);color:#263a99;color:var(--primary);font-weight:500;font-weight:var(--font-weight-medium);height:48px;transition:all .3s ease}.image-upload-button:hover{background-color:#fff;background-color:var(--bg-card);border-color:#263a99;border-color:var(--primary)}.upload-overlay{align-items:center;background:#000000b3;bottom:0;display:flex;flex-direction:column;gap:16px;gap:var(--spacing-md);justify-content:center;left:0;position:absolute;right:0;top:0}.upload-text{color:#fff;font-weight:500;font-weight:var(--font-weight-medium)}.form-field{margin-bottom:16px;margin-bottom:var(--spacing-md)}.form-field .MuiOutlinedInput-root{background-color:#fff;background-color:var(--bg-elevated);border-radius:12px;border-radius:var(--radius-md);height:56px}.form-field .MuiOutlinedInput-root:hover .MuiOutlinedInput-notchedOutline{border-color:#263a99;border-color:var(--primary)}.form-field .MuiOutlinedInput-root.Mui-focused .MuiOutlinedInput-notchedOutline{border-color:#263a99;border-color:var(--primary);box-shadow:0 0 0 3px #4ecdc41a}.form-field .MuiInputLabel-root{background-color:#fff;background-color:var(--bg-elevated);padding:0 8px}.date-time-section .form-field{margin-bottom:8px;margin-bottom:var(--spacing-sm)}.date-time-section .form-field:last-of-type{margin-bottom:0}.section-label{color:#263a99;color:var(--primary);font-size:1rem;font-size:var(--font-size-base);font-weight:700;font-weight:var(--font-weight-bold);padding-left:4px;padding-left:var(--spacing-xs)}.section-label,.section-title{margin-bottom:8px;margin-bottom:var(--spacing-sm)}.section-title{color:#6c757d;color:var(--text-secondary);font-size:.875rem;font-size:var(--font-size-sm);padding-left:0}.date-time-section{background-color:#4ecdc40d;border-left:3px solid #263a99;border-left:3px solid var(--primary);border-radius:12px;border-radius:var(--radius-md);display:flex;flex-direction:column;gap:8px;gap:var(--spacing-sm);margin-bottom:16px;margin-bottom:var(--spacing-md);padding:16px;padding:var(--spacing-md)}.recommended-day-notice{background-color:#2196f31a;border-left:3px solid #2196f3;margin-bottom:16px;margin-bottom:var(--spacing-md)}.midnight-notice,.recommended-day-notice{align-items:center;border-radius:8px;border-radius:var(--radius-sm);display:flex;gap:4px;gap:var(--spacing-xs);padding:8px 16px;padding:var(--spacing-sm) var(--spacing-md)}.midnight-notice{background-color:#ffc1071a;border-left:3px solid #ffc107;margin-top:8px;margin-top:var(--spacing-sm)}.submit-button{background:linear-gradient(135deg,#263a99,#97b4de);background:var(--gradient-primary);border-radius:16px;border-radius:var(--radius-lg);box-shadow:0 4px 16px #4ecdc44d;font-size:1rem;font-size:var(--font-size-base);font-weight:700;font-weight:var(--font-weight-bold);height:56px;margin-top:24px;margin-top:var(--spacing-lg);transition:all .3s ease}.submit-button:hover{background:linear-gradient(135deg,#97b4de,#263a99);background:var(--gradient-secondary);box-shadow:0 6px 24px #4ecdc466;transform:translateY(-1px)}.submit-button:disabled{background:linear-gradient(45deg,#b0b0b0 30%,#909090 90%);background:linear-gradient(45deg,var(--gray-500) 30%,var(--gray-600) 90%);box-shadow:none;transform:none}.loading-progress{background-color:#f5f5f580;border-radius:8px;border-radius:var(--radius-sm);padding:16px;padding:var(--spacing-md)}.delay-notice{animation:pulse 2s infinite}@media (max-width:768px){.meeting-add-container{padding:16px 8px;padding:var(--spacing-md) var(--spacing-sm)}.meeting-image-upload-area{height:180px}.date-time-section{padding:8px;padding:var(--spacing-sm)}.submit-button{font-size:.875rem;font-size:var(--font-size-sm);height:52px}}.participants-dialog{border-radius:16px}.participants-dialog .MuiDialog-paper{border-radius:16px;max-width:400px;width:100%}.participants-dialog-title{border-bottom:1px solid #e9ecef;border-bottom:1px solid var(--border-light);color:#2a2829;color:var(--text-primary);font-weight:700;font-weight:var(--font-weight-bold);padding:24px 24px 16px;padding:var(--spacing-lg) var(--spacing-lg) var(--spacing-md)}.participants-list{max-height:400px;overflow-y:auto}.participant-item{align-items:center;border-bottom:1px solid #e9ecef;border-bottom:1px solid var(--border-light);display:flex;justify-content:space-between;padding:16px 24px;padding:var(--spacing-md) var(--spacing-lg)}.participant-item:last-child{border-bottom:none}.participant-info{display:flex;flex-direction:column;gap:4px;gap:var(--spacing-xs)}.participant-name{color:#2a2829;color:var(--text-primary);font-size:1rem;font-size:var(--font-size-base);font-weight:700;font-weight:var(--font-weight-bold)}.participant-label{border-radius:12px;color:#fff;display:inline-block;font-size:.75rem;font-size:var(--font-size-xs);font-weight:500;font-weight:var(--font-weight-medium);min-width:-webkit-fit-content;min-width:fit-content;padding:2px 8px}.participant-label.new-family{background-color:#ff9800}.participant-label.leader{background-color:#9c27b0}.participant-label.ebs{background-color:#ffc107}.participant-label.member{background-color:#4caf50}.participant-toggle{margin-left:16px;margin-left:var(--spacing-md)}.participants-dialog-actions{border-top:1px solid #e9ecef;border-top:1px solid var(--border-light);display:flex;justify-content:center;padding:16px 24px;padding:var(--spacing-md) var(--spacing-lg)}.participants-dialog-actions .MuiButton-root{border-radius:20px;font-weight:500;font-weight:var(--font-weight-medium);height:40px;min-width:120px}.meeting-detail-container{min-height:100vh;padding:16px;padding:var(--spacing-md);padding-bottom:80px}.meeting-detail-container,.meeting-detail-header{background-color:#dcd0be;background-color:var(--bg-secondary)}.meeting-detail-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px;margin-bottom:var(--spacing-md);padding:16px 0;padding:var(--spacing-md) 0;position:-webkit-sticky;position:sticky;top:0;z-index:10}.back-button{background-color:#fff;background-color:var(--bg-elevated);box-shadow:0 2px 8px #0000001a}.back-button,.header-title{color:#2a2829;color:var(--text-primary)}.header-title{font-size:1.125rem;font-size:var(--font-size-lg);font-weight:700;font-weight:var(--font-weight-bold)}.info-button{background-color:#fff;background-color:var(--bg-elevated);box-shadow:0 2px 8px #0000001a;color:#263a99;color:var(--primary)}.meeting-image-card{border-radius:16px;box-shadow:0 4px 16px #0000001a;margin-bottom:24px;margin-bottom:var(--spacing-lg);overflow:hidden}.meeting-image-container{height:200px;overflow:hidden;position:relative;width:100%}.meeting-image{object-fit:cover;width:100%}.image-loading-placeholder,.meeting-image{background-color:#fff;background-color:var(--bg-card);height:100%}.image-loading-placeholder{align-items:center;display:flex;flex-direction:column;gap:16px;gap:var(--spacing-md);justify-content:center}.image-loading-text{color:#6c757d;color:var(--text-secondary);font-size:.875rem;font-size:var(--font-size-sm)}.info-card{background-color:#fff;background-color:var(--bg-elevated);border-radius:16px;box-shadow:0 4px 16px #0000001a;margin-bottom:24px;margin-bottom:var(--spacing-lg);overflow:hidden}.card-header{align-items:center;background-color:#fff;background-color:var(--bg-card);border-bottom:1px solid #e9ecef;border-bottom:1px solid var(--border-light);display:flex;justify-content:space-between;padding:24px;padding:var(--spacing-lg)}.card-title{color:#2a2829;color:var(--text-primary);font-weight:700;font-weight:var(--font-weight-bold);margin:0}.attendance-summary{color:#6c757d;color:var(--text-secondary);font-size:.875rem;font-size:var(--font-size-sm);margin:0;text-align:right}.card-divider{border-color:#e9ecef;border-color:var(--border-light);margin:0}.card-content{padding:24px;padding:var(--spacing-lg)}.info-item{display:flex;flex-direction:column;gap:4px;gap:var(--spacing-xs);margin-bottom:16px;margin-bottom:var(--spacing-md)}.info-label{color:#6c757d;color:var(--text-secondary);font-size:.875rem;font-size:var(--font-size-sm)}.info-value{color:#2a2829;color:var(--text-primary);font-weight:500;font-weight:var(--font-weight-medium);line-height:1.5}.attendance-section{border-bottom:1px solid #e9ecef;border-bottom:1px solid var(--border-light)}.attendance-section:last-child{border-bottom:none}.section-header{align-items:center;cursor:pointer;display:flex;justify-content:space-between;padding:16px 24px;padding:var(--spacing-md) var(--spacing-lg);transition:background-color .3s ease}.section-header:hover{background-color:#dcd0be;background-color:var(--bg-secondary)}.section-title{font-weight:500;font-weight:var(--font-weight-medium);margin:0}.member-list{background-color:initial;padding:0}.member-item{border-bottom:1px solid #e9ecef;border-bottom:1px solid var(--border-light);padding:16px 24px;padding:var(--spacing-md) var(--spacing-lg);transition:background-color .3s ease}.member-item:last-child{border-bottom:none}.member-item:hover{background-color:#dcd0be;background-color:var(--bg-secondary)}.member-avatar{color:#fff;font-weight:700;font-weight:var(--font-weight-bold);height:40px;width:40px}.member-name{margin-bottom:4px;margin-bottom:var(--spacing-xs)}.member-name,.role-leader{font-weight:500;font-weight:var(--font-weight-medium)}.role-leader{color:#263a99;color:var(--primary)}.role-ebs{color:#97b4de;color:var(--secondary)}.role-ebs,.role-member{font-weight:500;font-weight:var(--font-weight-medium)}.role-member{color:#6c757d;color:var(--text-secondary)}.role-default{color:#636e72;color:var(--text-tertiary);font-weight:400;font-weight:var(--font-weight-normal)}.status-chip{border-radius:12px;font-weight:500;font-weight:var(--font-weight-medium)}.status-chip.attended{background-color:#66bb6a;background-color:var(--success);color:#fff}.status-chip.absent{background-color:#636e72;background-color:var(--text-tertiary);color:#fff}.loading-container{align-items:center;display:flex;flex-direction:column;gap:24px;gap:var(--spacing-lg);height:50vh;justify-content:center}.loading-text{color:#6c757d;color:var(--text-secondary);font-size:1rem;font-size:var(--font-size-base)}@media (max-width:768px){.meeting-detail-container{padding:8px;padding:var(--spacing-sm)}.card-header{align-items:flex-start;flex-direction:column;gap:8px;gap:var(--spacing-sm)}.attendance-summary{font-size:.75rem;font-size:var(--font-size-xs);text-align:left}.meeting-image-container{height:150px}.header-title{font-size:1rem;font-size:var(--font-size-base)}}.error-message{align-items:center;background:#ef53501a;border-left:3px solid #ef5350;border-left:3px solid var(--error);border-radius:8px;border-radius:var(--radius-sm);color:#ef5350;color:var(--error);display:flex;font-size:.75rem;font-size:var(--font-size-xs);gap:4px;gap:var(--spacing-xs);margin-top:4px;margin-top:var(--spacing-xs);padding:4px 8px;padding:var(--spacing-xs) var(--spacing-sm)}.dashboard-container{background-color:#f0ebe5;background-color:var(--bg-primary);min-height:100vh;padding:10px}.dashboard-header{margin-bottom:20px}.dashboard-header h1{color:#2a2829;color:var(--text-primary);font-size:2rem;font-weight:800;margin-bottom:5px}.dashboard-header p{color:#6c757d;color:var(--text-secondary);font-size:1rem}.dashboard-filter-section{align-items:center;display:flex;flex-wrap:wrap;gap:15px;margin-bottom:20px}.filter-group{align-items:center;gap:8px}.filter-label{font-size:.9rem;font-weight:600}.filter-label,.filter-select{color:#2a2829;color:var(--text-primary)}.filter-select{background:#fff;border:2px solid #e5e7eb;border:2px solid var(--border-medium);border-radius:6px;cursor:pointer;font-size:.85rem;padding:6px 10px;transition:all .3s ease}.filter-select:focus{border-color:#263a99;border-color:var(--primary);box-shadow:0 0 0 3px #4ecdc41a;outline:none}.quick-stats-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:20px}.quick-stat-card{background:#f0ebe5;border-radius:12px;box-shadow:0 2px 4px #0000000d;display:flex;flex-direction:column;justify-content:space-between;min-height:147px;padding:20px 15px;text-align:center;transition:all .3s ease}.quick-stat-card:hover{box-shadow:0 4px 8px #0000001a;transform:translateY(-2px)}.quick-stat-value{color:#2c3e50;font-size:2.5rem;font-weight:900;line-height:1;margin:12px 0}.quick-stat-label{color:#6c757d;font-size:.85rem;font-weight:400;margin-bottom:0;padding-top:0}.quick-stat-growth{align-items:center;border:1px solid;border-radius:8px;display:inline-flex;font-size:.75rem;font-weight:500;gap:4px;justify-content:center;margin-left:auto;margin-right:auto;margin-top:12px;padding:6px 12px;width:-webkit-fit-content;width:fit-content}.quick-stat-growth.positive{background:#d4edda;border-color:#c3e6cb;color:#28a745}.quick-stat-growth.negative{background:#f8d7da;border-color:#f5c6cb;color:#dc3545}.growth-icon{display:inline-block;font-size:.8rem}.consecutive-absence-section{background:linear-gradient(135deg,#fff,#f8fafc);background:linear-gradient(135deg,var(--bg-card) 0,#f8fafc 100%);border:1px solid #0000000d;border-radius:14px;box-shadow:0 4px 20px #00000014;margin-bottom:20px;padding:20px}.absence-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));margin-top:20px}.absence-card{background:#fff;border:2px solid;border-radius:10px;box-shadow:0 4px 15px #00000014;padding:16px;transition:all .3s ease}.absence-card.high-severity{border-color:#ef4444}.absence-card.medium-severity{border-color:#f59e0b}.absence-card.low-severity{border-color:#10b981}.absence-card:hover{box-shadow:0 6px 20px #0000001f;transform:translateY(-2px)}.absence-title{align-items:center;display:flex;font-size:1rem;font-weight:700;gap:6px;margin-bottom:12px;text-shadow:0 1px 2px #0000001a}.absence-stats{margin:16px 0;text-align:center}.absence-stat-value{font-size:2.2rem;font-weight:800;margin-bottom:6px;text-shadow:0 1px 2px #0000001a}.absence-stat-value.high-severity{color:#ef4444}.absence-stat-value.medium-severity{color:#f59e0b}.absence-stat-value.low-severity{color:#10b981}.absence-list{margin-top:16px;max-height:200px;overflow-y:auto}.absence-list::-webkit-scrollbar{width:6px}.absence-list::-webkit-scrollbar-track{background:#f1f1f1;background:var(--gray-100);border-radius:3px}.absence-list::-webkit-scrollbar-thumb{background:#c1c1c1;background:var(--gray-300);border-radius:3px}.absence-list::-webkit-scrollbar-thumb:hover{background:#a8a8a8;background:var(--gray-400)}.absence-item{align-items:center;border-left:3px solid;border-radius:6px;display:flex;justify-content:space-between;margin-bottom:6px;padding:10px 14px;transition:all .2s ease}.absence-item:hover{box-shadow:0 1px 4px #0000001a;transform:translateX(2px)}.absence-member-info{display:flex;flex-direction:column;gap:2px}.absence-member-name{color:#2a2829;color:var(--text-primary);font-size:.9rem;font-weight:600}.absence-member-role{color:var(--text-muted);font-size:.7rem;font-style:italic}.absence-team-name{color:#6c757d;color:var(--text-secondary);font-size:.75rem}.absence-badge{border-radius:16px;box-shadow:0 2px 4px #00000026;color:#fff;font-size:.8rem;font-weight:700;padding:6px 12px;text-shadow:0 1px 2px #0003}.absence-badge.high-severity{background:#ef4444}.absence-badge.medium-severity{background:#f59e0b}.absence-badge.low-severity{background:#10b981}.consecutive-attendance-section{background:linear-gradient(135deg,#fff,#f8fafc);background:linear-gradient(135deg,var(--bg-card) 0,#f8fafc 100%);border:1px solid #0000000d;border-radius:14px;box-shadow:0 4px 20px #00000014;margin-bottom:20px;padding:20px}.consecutive-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));margin-top:20px}.consecutive-card{background:#fff;background:var(--bg-elevated);border:2px solid #d9cdbd;border-radius:12px;box-shadow:0 2px 8px #0000000d;padding:16px 20px 20px;transition:all .3s ease}.consecutive-card:hover{box-shadow:0 4px 16px #0000001a}.consecutive-title{align-items:center;color:#2a2829;color:var(--text-primary);display:flex;font-size:1rem;font-weight:700;gap:8px;margin-bottom:16px;margin-top:0}.consecutive-stats{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(3,1fr)}.consecutive-stat{background:#ede8e2;border:1px solid #e9ecef;border:1px solid var(--border-light);border-radius:12px;padding:16px 12px;text-align:center}.consecutive-stat-value{color:#2c3e50;font-size:2rem;font-weight:700;line-height:1.2;margin-bottom:4px}.consecutive-stat-label{color:#455a64;font-size:.875rem;font-weight:400;line-height:1.4}.view-button{background:linear-gradient(135deg,#26428b,#516ac8);border-radius:8px;box-shadow:0 2px 8px #26428b33;font-size:.9rem;font-weight:600;margin-top:16px;padding:10px 18px;transition:all .3s ease;width:100%}.view-button:hover{box-shadow:0 6px 16px #26428b4d;transform:translateY(-2px)}.attendance-status-section{background:#fff;background:var(--bg-card);border-radius:12px;box-shadow:0 2px 8px #0000000d;box-shadow:var(--shadow-light);margin-bottom:20px;padding:20px}.status-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-top:15px}.status-card{background:#fff;border-left:4px solid;border-radius:10px;padding:15px;transition:all .3s ease}.status-card:hover{box-shadow:0 4px 12px #00000014;box-shadow:var(--shadow-medium);transform:translateY(-2px)}.status-title{color:#2a2829;color:var(--text-primary);font-size:1rem;font-weight:700;gap:6px}.status-stats,.status-title{align-items:center;display:flex;margin-bottom:8px}.status-stats{justify-content:space-between}.status-count{color:#2a2829;color:var(--text-primary);font-size:1.5rem;font-weight:800}.status-percentage{border-radius:12px;font-size:.9rem;font-weight:600;padding:4px 8px}.status-description{color:#6c757d;color:var(--text-secondary);font-size:.8rem;line-height:1.3}.charts-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr;margin-bottom:25px}.chart-card{background:#fff;background:var(--bg-card);border-radius:12px;box-shadow:0 2px 8px #0000000d;box-shadow:var(--shadow-light);padding:20px}.chart-title{align-items:center;display:flex;font-size:1.3rem;gap:10px;margin-bottom:18px}.chart-title:before{content:"📊";font-size:1.5rem}.activities-section{background:#fff;background:var(--bg-card);border-radius:12px;box-shadow:0 2px 8px #0000000d;box-shadow:var(--shadow-light);padding:20px}.activity-item{align-items:center;border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border-medium);display:flex;padding:12px 0}.activity-item:last-child{border-bottom:none}.activity-icon{align-items:center;border-radius:50%;color:#fff;display:flex;font-size:.9rem;height:35px;justify-content:center;margin-right:12px;width:35px}.activity-content{flex:1 1}.activity-title{color:#2a2829;color:var(--text-primary);font-size:.95rem;font-weight:600;margin-bottom:2px}.activity-subtitle{color:#6c757d;color:var(--text-secondary);font-size:.85rem}.activity-time{color:var(--text-muted);font-size:.8rem;text-align:right}.popup-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.popup-container{background:#fff;border-radius:12px;box-shadow:0 10px 30px #0003;max-height:85vh;max-width:600px;overflow:hidden;padding:0;width:90%}.popup-header{align-items:center;border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border-medium);display:flex;justify-content:space-between;padding:20px}.popup-title{color:#2a2829;color:var(--text-primary);font-size:1.2rem;font-weight:700;margin:0}.close-button{color:#6c757d;color:var(--text-secondary);font-size:24px;height:30px;padding:5px;transition:all .2s ease;width:30px}.close-button:hover{background:#fff;background:var(--bg-card);color:#2a2829;color:var(--text-primary)}.popup-close-button{align-items:center;background:none;border:none;border-radius:4px;color:#6c757d;color:var(--text-secondary);cursor:pointer;display:flex;font-size:28px;font-weight:300;justify-content:center;line-height:1;min-height:32px;min-width:32px;padding:4px 8px;transition:all .2s ease}.popup-close-button:hover{background:#fff;background:var(--bg-card);color:#2a2829;color:var(--text-primary)}.popup-content{max-height:70vh;overflow-y:auto;padding:0}.attendance-list{display:flex;flex-direction:column;gap:0}.attendance-item{align-items:center;background:#f8f9fa;border-bottom:1px solid #e9ecef;border-left:4px solid #263a99;border-left:4px solid var(--primary);border-radius:0;display:flex;justify-content:space-between;padding:16px 20px;transition:background-color .2s ease}.attendance-item:hover{background:#f1f3f4}.attendance-item:last-child{border-bottom:none}.member-info{display:flex;flex:1 1;flex-direction:column;gap:6px}.member-name{color:#2a2829;color:var(--text-primary);font-size:1.1rem;font-weight:700;margin-bottom:2px}.member-role{color:#6c757d;color:var(--text-secondary);font-size:.9rem;font-weight:500}.team-name{color:#636e72;color:var(--text-tertiary);font-size:.85rem}.consecutive-badge{background:#263a99;background:var(--primary);border-radius:20px;color:#fff;font-size:.9rem;font-weight:600;margin-left:16px;padding:8px 16px;white-space:nowrap}@media (max-width:1024px){.dashboard-container{padding:8px}.dashboard-header h1{font-size:1.8rem}.dashboard-header p{font-size:.9rem}.quick-stats-grid{gap:12px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.quick-stat-card{min-height:120px;padding:15px 12px}.quick-stat-value{font-size:1.8rem}.absence-grid,.consecutive-grid{gap:20px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}}@media (max-width:768px){.dashboard-container{padding:6px}.dashboard-header h1{font-size:1.6rem}.dashboard-header p{font-size:.85rem}.quick-stats-grid{gap:10px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.quick-stat-card{min-height:100px;padding:12px 10px}.quick-stat-value{font-size:1.5rem}.absence-grid,.consecutive-grid{gap:16px;grid-template-columns:1fr}.charts-grid{gap:15px}.chart-card{padding:15px}.popup-container{max-height:90vh;width:95%}}.visitation-container{box-sizing:border-box;max-width:100%;min-height:100vh;overflow-x:hidden;padding:24px;padding:var(--spacing-lg);width:100%}.visitation-header{margin-bottom:32px;margin-bottom:var(--spacing-xl)}.visitation-header h1{color:#2a2829;color:var(--text-primary);font-size:1.25rem;font-size:var(--font-size-xl);font-weight:700;font-weight:var(--font-weight-bold);margin-bottom:4px;margin-bottom:var(--spacing-xs)}.visitation-header p{color:#6c757d;color:var(--text-secondary);font-size:1rem;font-size:var(--font-size-base);margin:0}.visitation-stats-grid{grid-gap:16px;grid-gap:var(--spacing-md);box-sizing:border-box;display:grid;gap:16px;gap:var(--spacing-md);grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:32px;margin-bottom:var(--spacing-xl);max-width:100%;width:100%}.visitation-stat-card{background:#fff;background:var(--bg-elevated);border:1px solid #e9ecef;border:1px solid var(--border-light);border-radius:16px;border-radius:var(--radius-lg);box-shadow:0 2px 8px #0000000d;box-shadow:var(--shadow-light);padding:24px;padding:var(--spacing-lg);transition:all .3s ease}.visitation-stat-card:hover{box-shadow:0 4px 12px #00000014;box-shadow:var(--shadow-medium);transform:translateY(-2px)}.visitation-stat-card h3{color:#6c757d;color:var(--text-secondary);font-size:.875rem;font-size:var(--font-size-sm);font-weight:500;font-weight:var(--font-weight-medium);letter-spacing:.5px;text-transform:uppercase}.visitation-stat-card h3,.visitation-stat-value{margin-bottom:4px;margin-bottom:var(--spacing-xs)}.visitation-stat-value{color:#2a2829;color:var(--text-primary);font-size:1.25rem;font-size:var(--font-size-xl);font-weight:700;font-weight:var(--font-weight-bold)}.visitation-stat-card p{color:#6c757d;color:var(--text-secondary);font-size:.75rem;font-size:var(--font-size-xs);margin:0}.visitation-keywords-container{font-size:.75rem;font-size:var(--font-size-xs);line-height:1.4}.visitation-keyword-item{align-items:center;display:flex;justify-content:space-between;margin-bottom:4px;margin-bottom:var(--spacing-xs)}.visitation-keyword-text{color:#2a2829;color:var(--text-primary);font-weight:700;font-weight:var(--font-weight-bold)}.visitation-keyword-count{background:linear-gradient(135deg,#263a99,#97b4de);background:var(--gradient-primary);border-radius:6px;color:#fff;font-weight:500;font-weight:var(--font-weight-medium);padding:2px 6px}.visitation-keyword-count,.visitation-no-data{font-size:.75rem;font-size:var(--font-size-xs)}.visitation-no-data{color:#636e72;color:var(--text-tertiary);font-style:italic}.visitation-action-bar{align-items:center;box-sizing:border-box;display:flex;gap:16px;gap:var(--spacing-md);justify-content:space-between;margin-bottom:24px;margin-bottom:var(--spacing-lg);max-width:100%;overflow-x:hidden;width:100%}.visitation-search-bar{display:flex;flex:1 1;gap:8px;gap:var(--spacing-sm);max-width:500px;min-width:0;overflow-x:hidden}.visitation-search-input{background:#fff;background:var(--bg-elevated);border:1px solid #e9ecef;border:1px solid var(--border-light);border-radius:12px;border-radius:var(--radius-md);box-sizing:border-box;color:#2a2829;color:var(--text-primary);flex:1 1;font-size:.875rem;font-size:var(--font-size-sm);max-width:100%;min-width:0;padding:8px 16px;padding:var(--spacing-sm) var(--spacing-md)}.visitation-search-input:focus{border-color:#263a99;border-color:var(--primary);box-shadow:0 0 0 3px #4ecdc41a;outline:none}.visitation-filter-select{background:#fff;background:var(--bg-elevated);border:1px solid #e9ecef;border:1px solid var(--border-light);border-radius:12px;border-radius:var(--radius-md);box-sizing:border-box;color:#2a2829;color:var(--text-primary);cursor:pointer;font-size:.875rem;font-size:var(--font-size-sm);max-width:120px;min-width:0;padding:8px 16px;padding:var(--spacing-sm) var(--spacing-md)}.visitation-filter-select:focus{border-color:#263a99;border-color:var(--primary);outline:none}.visitation-view-controls{align-items:center;display:flex;flex-shrink:0;gap:8px;gap:var(--spacing-sm);min-width:0}.visitation-view-button{background:#fff;background:var(--bg-elevated);border:1px solid #e9ecef;border:1px solid var(--border-light);border-radius:12px;border-radius:var(--radius-md);color:#2a2829;color:var(--text-primary);cursor:pointer;font-size:.875rem;font-size:var(--font-size-sm);font-weight:500;font-weight:var(--font-weight-medium);padding:8px 16px;padding:var(--spacing-sm) var(--spacing-md);transition:all .3s ease}.visitation-view-button:hover{background:#fff;background:var(--bg-card);border-color:#e5e7eb;border-color:var(--border-medium)}.visitation-view-button.active{background:#263a99;background:var(--primary);border-color:#263a99;border-color:var(--primary);color:#fff}.visitation-add-button{background:linear-gradient(135deg,#263a99,#97b4de);background:var(--gradient-primary);border:none;border-radius:12px;border-radius:var(--radius-md);color:#fff;cursor:pointer;font-size:.875rem;font-size:var(--font-size-sm);font-weight:500;font-weight:var(--font-weight-medium);padding:8px 24px;padding:var(--spacing-sm) var(--spacing-lg);transition:all .3s ease}.visitation-add-button:hover{box-shadow:0 4px 12px #00000014;box-shadow:var(--shadow-medium);transform:translateY(-2px)}.visitation-table-container{background:#fff;background:var(--bg-elevated);border:1px solid #e9ecef;border:1px solid var(--border-light);border-radius:16px;border-radius:var(--radius-lg);box-shadow:0 2px 8px #0000000d;box-shadow:var(--shadow-light);overflow:hidden;overflow-x:auto}.visitation-table{border-collapse:collapse;font-size:.875rem;font-size:var(--font-size-sm);min-width:800px;width:100%}.visitation-table thead{background:linear-gradient(135deg,#263a99,#97b4de);background:var(--gradient-primary);color:#fff}.visitation-table th{font-size:.875rem;font-size:var(--font-size-sm);font-weight:500;font-weight:var(--font-weight-medium);padding:16px 8px;padding:var(--spacing-md) var(--spacing-sm);text-align:left}.visitation-table tbody tr{border-bottom:1px solid #e9ecef;border-bottom:1px solid var(--border-light);cursor:pointer;transition:all .2s ease}.visitation-table tbody tr:hover{background:#fff;background:var(--bg-card);box-shadow:0 2px 8px #0000001a;transform:translateY(-1px)}.visitation-table tbody tr:last-child{border-bottom:none}.visitation-table td{border-bottom:1px solid #e9ecef;border-bottom:1px solid var(--border-light);color:#2a2829;color:var(--text-primary);padding:8px;padding:var(--spacing-sm);white-space:nowrap}.visitation-table-cell-bold{color:#2a2829;color:var(--text-primary);font-weight:500;font-weight:var(--font-weight-medium)}.visitation-table-cell-secondary{color:#6c757d;color:var(--text-secondary);font-size:.75rem;font-size:var(--font-size-xs)}.visitation-method-badge{border-radius:12px;font-size:.75rem;font-size:var(--font-size-xs);font-weight:500;font-weight:var(--font-weight-medium);padding:2px 8px}.visitation-method-badge.만남{background:#e3f2fd;background:var(--method-meeting-bg);color:#1976d2;color:var(--method-meeting-text)}.visitation-method-badge.통화{background:#f3e5f5;background:var(--method-call-bg);color:#7b1fa2;color:var(--method-call-text)}.visitation-method-badge.카카오톡{background:#fff3e0;background:var(--method-kakao-bg);color:#f57c00;color:var(--method-kakao-text)}.visitation-empty-message{color:#6c757d;color:var(--text-secondary);font-size:1rem;font-size:var(--font-size-base);padding:32px 16px;padding:var(--spacing-xl) var(--spacing-md);text-align:center}.visitation-cards-grid{grid-gap:16px;grid-gap:var(--spacing-md);display:grid;gap:16px;gap:var(--spacing-md);grid-template-columns:repeat(auto-fill,minmax(400px,1fr))}.visitation-card{background:#fff;background:var(--bg-elevated);border:1px solid #e9ecef;border:1px solid var(--border-light);border-radius:16px;border-radius:var(--radius-lg);box-shadow:0 2px 8px #0000000d;box-shadow:var(--shadow-light);cursor:pointer;padding:24px;padding:var(--spacing-lg);transition:all .3s ease}.visitation-card:hover{border-color:#e5e7eb;border-color:var(--border-medium);box-shadow:0 4px 12px #00000014;box-shadow:var(--shadow-medium);transform:translateY(-2px)}.visitation-card-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:16px;margin-bottom:var(--spacing-md)}.visitation-card-header h3{color:#2a2829;color:var(--text-primary);font-size:1rem;font-size:var(--font-size-base);font-weight:700;font-weight:var(--font-weight-bold);margin:0}.visitation-card-content{margin-bottom:16px;margin-bottom:var(--spacing-md)}.visitation-info-row{display:flex;font-size:.875rem;font-size:var(--font-size-sm);justify-content:space-between;margin-bottom:4px;margin-bottom:var(--spacing-xs)}.visitation-info-label{color:#6c757d;color:var(--text-secondary)}.visitation-info-label,.visitation-info-value{font-weight:500;font-weight:var(--font-weight-medium)}.visitation-info-value{color:#2a2829;color:var(--text-primary)}.visitation-content-preview{-webkit-line-clamp:3;-webkit-box-orient:vertical;color:#6c757d;color:var(--text-secondary);display:-webkit-box;font-size:.875rem;font-size:var(--font-size-sm);line-height:1.5;margin:8px 0 0;margin:var(--spacing-sm) 0 0 0;overflow:hidden}.visitation-card-footer{align-items:center;color:#6c757d;color:var(--text-secondary);display:flex;font-size:.75rem;font-size:var(--font-size-xs);justify-content:space-between}.visitation-empty-cards{color:#6c757d;color:var(--text-secondary);grid-column:1/-1;padding:32px;padding:var(--spacing-xl);text-align:center}.visitation-modal{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:16px;padding:var(--spacing-md);position:fixed;right:0;top:0;z-index:1000}.visitation-modal-content{background:#fff;background:var(--bg-elevated);border-radius:16px;border-radius:var(--radius-lg);box-shadow:0 8px 25px #00000026;box-shadow:var(--shadow-heavy);display:flex;flex-direction:column;max-height:90vh;max-width:600px;overflow:hidden;width:100%}.visitation-modal-header{align-items:center;display:flex;flex-shrink:0;justify-content:space-between;padding:32px 32px 0;padding:var(--spacing-xl) var(--spacing-xl) 0 var(--spacing-xl)}.visitation-modal-header h2{color:#2a2829;color:var(--text-primary);font-size:1.125rem;font-size:var(--font-size-lg);font-weight:700;font-weight:var(--font-weight-bold);margin:0}.visitation-modal-close{background:none;border:none;color:#6c757d;color:var(--text-secondary);cursor:pointer;font-size:1.125rem;font-size:var(--font-size-lg)}.visitation-modal-close:hover{color:#2a2829;color:var(--text-primary)}.visitation-form{display:flex;flex:1 1;flex-direction:column;gap:16px;gap:var(--spacing-md);overflow-y:auto;padding:0 32px 32px;padding:0 var(--spacing-xl) var(--spacing-xl) var(--spacing-xl)}.visitation-form-section{background:#fff;background:var(--bg-card);border:1px solid #e9ecef;border:1px solid var(--border-light);border-radius:12px;border-radius:var(--radius-md);padding:24px;padding:var(--spacing-lg)}.visitation-form-section h3{border-bottom:2px solid #e9ecef;border-bottom:2px solid var(--border-light);color:#2a2829;color:var(--text-primary);font-size:1rem;font-size:var(--font-size-base);font-weight:700;font-weight:var(--font-weight-bold);margin:0 0 16px;margin:0 0 var(--spacing-md) 0;padding-bottom:8px;padding-bottom:var(--spacing-sm)}.visitation-form-group{display:flex;flex-direction:column;gap:4px;gap:var(--spacing-xs);margin-bottom:16px;margin-bottom:var(--spacing-md)}.visitation-form-group:last-child{margin-bottom:0}.visitation-form-group label{color:#2a2829;color:var(--text-primary);font-size:.875rem;font-size:var(--font-size-sm);font-weight:500;font-weight:var(--font-weight-medium)}.visitation-form-row{grid-gap:16px;grid-gap:var(--spacing-md);display:grid;gap:16px;gap:var(--spacing-md);grid-template-columns:1fr 1fr 1fr}.visitation-input,.visitation-select,.visitation-textarea{background:#fff;background:var(--bg-elevated);border:1px solid #e9ecef;border:1px solid var(--border-light);border-radius:12px;border-radius:var(--radius-md);box-sizing:border-box;color:#2a2829;color:var(--text-primary);font-size:.875rem;font-size:var(--font-size-sm);padding:8px 16px;padding:var(--spacing-sm) var(--spacing-md);width:100%}.visitation-input:focus,.visitation-select:focus,.visitation-textarea:focus{border-color:#263a99;border-color:var(--primary);box-shadow:0 0 0 3px #4ecdc41a;outline:none}.visitation-textarea{font-family:inherit;min-height:120px;resize:vertical}.visitation-form-buttons{display:flex;gap:8px;gap:var(--spacing-sm);justify-content:flex-end;margin-top:16px;margin-top:var(--spacing-md)}.visitation-button{background:#fff;background:var(--bg-elevated);border:1px solid #e9ecef;border:1px solid var(--border-light);border-radius:12px;border-radius:var(--radius-md);color:#2a2829;color:var(--text-primary);cursor:pointer;font-size:.875rem;font-size:var(--font-size-sm);font-weight:500;font-weight:var(--font-weight-medium);padding:8px 24px;padding:var(--spacing-sm) var(--spacing-lg);transition:all .3s ease}.visitation-button:hover{background:#fff;background:var(--bg-card);border-color:#e5e7eb;border-color:var(--border-medium)}.visitation-button.primary{background:linear-gradient(135deg,#263a99,#97b4de);background:var(--gradient-primary);border:none;color:#fff}.visitation-button.primary:hover{box-shadow:0 4px 12px #00000014;box-shadow:var(--shadow-medium);transform:translateY(-2px)}@media (max-width:768px){.visitation-container{overflow-x:hidden;padding:16px;padding:var(--spacing-md)}.visitation-stats-grid{grid-template-columns:1fr}.visitation-action-bar,.visitation-stats-grid{gap:8px;gap:var(--spacing-sm);overflow-x:hidden}.visitation-action-bar{flex-direction:column}.visitation-search-bar{max-width:100%;overflow-x:hidden}.visitation-filter-select{max-width:100px}.visitation-cards-grid,.visitation-form-row{grid-template-columns:1fr}.visitation-form-row{gap:8px;gap:var(--spacing-sm)}.visitation-table{min-width:600px}}.sidebar-menu-button.active:before{background:#e3af64;background:var(--accent);bottom:0;content:"";left:0;position:absolute;top:0;width:4px}@media (max-width:768px){.sidebar-container{width:200px}.main-content-with-sidebar{margin-left:200px}.sidebar-header{padding:16px;padding:var(--spacing-md)}.sidebar-title{font-size:1rem;font-size:var(--font-size-base)}.sidebar-subtitle{font-size:.75rem;font-size:var(--font-size-xs)}.sidebar-menu-button{gap:8px;padding:8px;padding:8px var(--spacing-sm)}.sidebar-menu-icon{height:16px;width:16px}}.temp-page-container{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:100vh;padding:30px}.temp-page-content{max-width:600px;text-align:center;width:100%}.temp-page-title{color:#2a2829;color:var(--text-primary);font-size:2.2rem;font-weight:800;margin-bottom:8px}.temp-page-description{color:#6c757d;color:var(--text-secondary);font-size:1.1rem;margin-bottom:30px}.temp-page-card{background:#fff;background:var(--bg-card);border:1px solid #e9ecef;border:1px solid var(--border-light);border-radius:16px;box-shadow:0 2px 8px #0000000d;padding:40px}.temp-page-message{color:#6c757d;color:var(--text-secondary);font-size:1rem;font-size:var(--font-size-base);margin:0}@media (max-width:768px){.temp-page-container{padding:20px}.temp-page-title{font-size:1.8rem}.temp-page-description{font-size:1rem}.temp-page-card{padding:30px 20px}}.chart-container{background:#fff;background:var(--bg-elevated);border:1px solid #e9ecef;border:1px solid var(--border-light);border-radius:16px;box-shadow:0 2px 8px #0000000d;padding:24px;padding:var(--spacing-lg)}.chart-container,.chart-title{margin-bottom:24px;margin-bottom:var(--spacing-lg)}.chart-title{color:#2a2829;color:var(--text-primary);font-size:1.125rem;font-size:var(--font-size-lg);font-weight:700;font-weight:var(--font-weight-bold);text-align:center}.chart-wrapper{height:400px;margin-bottom:24px;margin-bottom:var(--spacing-lg);position:relative}.no-data-message{background:#fff;background:var(--bg-card);border:2px dashed #e5e7eb;border:2px dashed var(--border-medium);border-radius:12px;color:#6c757d;color:var(--text-secondary);font-size:1rem;font-size:var(--font-size-base);padding:60px 20px;text-align:center}.worship-info{grid-gap:16px;grid-gap:var(--spacing-md);display:grid;gap:16px;gap:var(--spacing-md);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-top:24px;margin-top:var(--spacing-lg)}.worship-card{background:#fff;background:var(--bg-card);border:1px solid #e9ecef;border:1px solid var(--border-light);border-radius:12px;padding:16px;padding:var(--spacing-md);transition:all .3s ease}.worship-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.worship-title{color:#2a2829;color:var(--text-primary);font-size:1rem;font-size:var(--font-size-base);font-weight:700;font-weight:var(--font-weight-bold);margin-bottom:8px;margin-bottom:var(--spacing-sm);text-align:center}.worship-stats{display:flex;gap:8px;gap:var(--spacing-sm);justify-content:space-around}.stat-item{flex:1 1;text-align:center}.stat-item .label{color:#636e72;color:var(--text-tertiary);font-size:.75rem;font-size:var(--font-size-xs);margin-bottom:4px}.stat-item .value{color:#263a99;color:var(--primary);font-size:1rem;font-size:var(--font-size-base);font-weight:700;font-weight:var(--font-weight-bold)}@media (max-width:768px){.chart-wrapper{height:300px}.worship-info{gap:8px;gap:var(--spacing-sm);grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.worship-card{padding:8px;padding:var(--spacing-sm)}.stat-item .value,.worship-title{font-size:.875rem;font-size:var(--font-size-sm)}}.worship-status-container{margin:0 auto;max-width:1600px;padding:30px}.page-header{margin-bottom:30px}.page-header h1{color:#2a2829;color:var(--text-primary);font-size:2.2rem;font-weight:800;margin-bottom:8px}.page-header p{color:#6c757d;color:var(--text-secondary);font-size:1.1rem}.filter-section{background:#fff;background:var(--bg-card);border:1px solid #e9ecef;border:1px solid var(--border-light);border-radius:16px;box-shadow:0 2px 8px #0000000d;margin-bottom:30px;padding:25px}.filter-title{color:#2a2829;color:var(--text-primary);font-size:1.2rem;font-weight:600;margin-bottom:20px}.filter-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:20px}.filter-group{display:flex;flex-direction:column}.filter-group label{color:#6c757d;color:var(--text-secondary);font-size:.9rem;font-weight:500;margin-bottom:8px}.filter-group input,.filter-group select{background:#fff;border:1px solid #e9ecef;border:1px solid var(--border-light);border-radius:8px;color:#2a2829;color:var(--text-primary);font-size:.9rem;padding:10px 12px;transition:all .2s ease}.filter-group input:focus,.filter-group select:focus{border-color:#263a99;border-color:var(--primary);box-shadow:0 0 0 2px #4ecdc41a;outline:none}.search-button{border-radius:8px;font-size:.9rem;transition:all .2s ease}.search-button:hover{box-shadow:0 4px 12px #4ecdc440;transform:translateY(-1px)}.search-button:active{transform:translateY(0)}.worship-table-section{background:#fff;background:var(--bg-card);border:1px solid #e9ecef;border:1px solid var(--border-light);border-radius:16px;box-shadow:0 2px 8px #0000000d;padding:30px}.section-title{color:#2a2829;color:var(--text-primary);font-size:1.2rem;margin-bottom:20px}.table-wrapper{-webkit-overflow-scrolling:touch;overflow-x:auto;position:relative;scroll-behavior:smooth;transform:translateZ(0);will-change:scroll-position}.table-wrapper::-webkit-scrollbar{height:12px}.table-wrapper::-webkit-scrollbar-track{background:#fff;background:var(--bg-card);border-radius:6px}.table-wrapper::-webkit-scrollbar-thumb{background:#263a99;background:var(--primary);border-radius:6px}.table-wrapper::-webkit-scrollbar-thumb:hover{background:#1a2c6b;background:var(--primary-dark)}.worship-table{border-collapse:collapse;table-layout:fixed}.worship-table,.worship-table td,.worship-table th{border:1px solid #e9ecef;border:1px solid var(--border-light);position:relative}.worship-table td,.worship-table th{font-size:.8rem;padding:10px 8px;text-align:center;white-space:nowrap}.worship-table th{background:linear-gradient(135deg,#263a99,#97b4de);background:var(--gradient-primary);color:#fff;font-size:.75rem;font-weight:600;position:-webkit-sticky;position:sticky;top:0;z-index:10}.worship-table th.date-cell{left:0;width:120px;z-index:30}.worship-table th.date-cell,.worship-table th.worship-type{background:#263a99;background:var(--primary);border-right:3px solid #263a99;border-right:3px solid var(--primary);box-shadow:2px 0 5px #0000001a;position:-webkit-sticky;position:sticky}.worship-table th.worship-type{left:120px;width:150px;z-index:29}.worship-table td{background:#fff;color:#2a2829;color:var(--text-primary)}.worship-table td.date-cell{font-weight:600;left:0;width:120px;z-index:25}.worship-table td.date-cell,.worship-table td.worship-type{background:#fff;background:var(--bg-card);border-right:3px solid #263a99;border-right:3px solid var(--primary);box-shadow:2px 0 5px #0000001a;position:-webkit-sticky;position:sticky}.worship-table td.worship-type{font-weight:500;left:120px;width:150px;z-index:24}.worship-table td.total-cell{background:#97b4de;background:var(--secondary);color:#fff;font-weight:600}.worship-table .merged-date{background:#fff;background:var(--bg-card);color:#2a2829;color:var(--text-primary);font-weight:600}.worship-table .guk-header{background:#97b4de;background:var(--secondary);color:#fff;font-weight:600}.worship-table .group-header{background:#fff;background:var(--bg-card);color:#2a2829;color:var(--text-primary);font-weight:600}.worship-table .sun-header{background:#fff;background:var(--bg-card);color:#6c757d;color:var(--text-secondary);font-weight:500}@media (max-width:768px){.worship-status-container{padding:20px}.page-header h1{font-size:1.8rem}.page-header p{font-size:1rem}.filter-section{padding:20px}.filter-grid{gap:15px;grid-template-columns:1fr}.worship-table-section{padding:20px}.worship-table td,.worship-table th{font-size:.7rem;padding:8px 6px}}.members-container{min-height:100vh;padding:0}.members-sticky-header{background:#f0ebe5;background:var(--bg-primary);margin:-24px -24px 0;margin:calc(var(--spacing-lg)*-1) calc(var(--spacing-lg)*-1) 0 calc(var(--spacing-lg)*-1);padding:24px 24px 0;padding:var(--spacing-lg) var(--spacing-lg) 0 var(--spacing-lg);position:-webkit-sticky;position:sticky;top:0;z-index:100}.members-header{border-bottom:1px solid #e9ecef;border-bottom:1px solid var(--border-light);margin-bottom:0;padding-bottom:15px}.members-header h1{color:#2a2829;color:var(--text-primary);font-size:2.2rem;font-weight:800;margin-bottom:8px}.members-header p{color:#6c757d;color:var(--text-secondary);font-size:1.1rem}.members-controls{align-items:center;border-bottom:1px solid #e9ecef;border-bottom:1px solid var(--border-light);display:flex;gap:20px;justify-content:space-between;margin-bottom:0;padding:15px 0}.search-box{flex:1 1;max-width:400px;position:relative}.search-box input{border:2px solid #e9ecef;border:2px solid var(--border-light);border-radius:8px;font-size:1rem;padding:12px 45px 12px 15px;transition:all .3s ease;width:100%}.search-box input:focus{border-color:#263a99;border-color:var(--primary);box-shadow:0 0 0 3px #4ecdc41a;outline:none}.search-icon{color:#636e72;color:var(--text-tertiary);font-size:1.1rem;position:absolute;right:15px;top:50%;transform:translateY(-50%)}.add-button{background:linear-gradient(135deg,#263a99,#97b4de);background:var(--gradient-primary);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:12px 24px;transition:all .3s ease}.add-button:hover{box-shadow:0 4px 12px #4ecdc440;transform:translateY(-2px)}.add-button:disabled{background:#e0e0e0;color:#9e9e9e;cursor:not-allowed;opacity:.6}.add-button:disabled,.add-button:disabled:hover{box-shadow:none;transform:none}.table-container{background:#fff;background:var(--bg-card);border-radius:16px;box-shadow:0 2px 8px #0000000d;margin:20px 24px;overflow:hidden}.members-table{border-collapse:collapse;width:100%}.members-table td,.members-table th{border-bottom:1px solid #e9ecef;border-bottom:1px solid var(--border-light);padding:15px;text-align:left}.members-table th{background:#fff;background:var(--bg-card);font-size:.95rem;font-weight:600}.members-table td,.members-table th{color:#2a2829;color:var(--text-primary)}.members-table td{font-size:.9rem}.members-table tr:hover{background:#f8f7f580}.clickable-name{color:#263a99;color:var(--primary);cursor:pointer;font-weight:600;transition:all .3s ease}.clickable-name:hover{color:#1a2c6b;color:var(--primary-dark);text-decoration:underline}.pagination{align-items:center;display:flex;gap:10px;justify-content:center;padding:20px}.page-button{background:#fff;border:1px solid #e9ecef;border:1px solid var(--border-light);border-radius:6px;color:#2a2829;color:var(--text-primary);cursor:pointer;padding:8px 12px;transition:all .3s ease}.page-button:hover{background:#fff;background:var(--bg-card)}.page-button.active{background:#263a99;background:var(--primary);border-color:#263a99;border-color:var(--primary);color:#fff}.page-button:disabled{cursor:not-allowed;opacity:.5}.infinite-scroll-loading{padding:20px;text-align:center}.infinite-scroll-loading-content{align-items:center;display:inline-flex;gap:10px}.infinite-scroll-spinner{animation:spin 1s linear infinite;border:3px solid #e9ecef;border-top:3px solid #263a99;border:3px solid var(--border-light);border-radius:50%;border-top-color:var(--primary);height:20px;width:20px}.infinite-scroll-loading-text{color:#6c757d;color:var(--text-secondary);font-size:.9rem}.infinite-scroll-end{padding:20px;text-align:center}.infinite-scroll-end-text{color:#636e72;color:var(--text-tertiary);font-size:.9rem}.infinite-scroll-trigger{height:20px}.members-search-bar{align-items:center;display:flex;flex:1 1;gap:10px;max-width:800px}.members-filter-select{background:#fff;background:var(--bg-elevated);border:1px solid #e9ecef;border:1px solid var(--border-light);border-radius:12px;color:#2a2829;color:var(--text-primary);cursor:pointer;font-size:.9rem;min-width:120px;padding:12px 16px;transition:all .3s ease}.members-filter-select:focus{border-color:#263a99;border-color:var(--primary);box-shadow:0 0 0 3px #4ecdc41a;outline:none}.members-action-buttons{display:flex;gap:10px}.change-affiliation-button{background:linear-gradient(135deg,#28a745,#20c997);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:12px 24px;transition:all .3s ease}.change-affiliation-button:hover:not(:disabled){box-shadow:0 4px 12px #28a7454d;transform:translateY(-2px)}.change-affiliation-button:disabled{background:#6c757d;cursor:not-allowed;opacity:.6;transform:none}.members-checkbox{accent-color:#263a99;accent-color:var(--primary);cursor:pointer;height:18px;width:18px}.members-modal-overlay{align-items:center;animation:fadeIn .2s ease;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.members-modal-content{animation:slideUp .3s ease;background:#fff;border-radius:16px;box-shadow:0 4px 20px #0000004d;max-width:1000px;padding:30px;width:90%}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.members-modal-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:25px}.members-modal-header h3{color:#2a2829;color:var(--text-primary);font-size:1.5rem;font-weight:700;margin:0}.members-modal-close{background:none;border:none;color:#6c757d;cursor:pointer;font-size:1.5rem;line-height:1;padding:0;transition:color .2s ease}.members-modal-close:hover{color:#2a2829;color:var(--text-primary)}.members-modal-form{margin-bottom:25px}.members-modal-form-columns{grid-gap:24px;display:grid;gap:24px;grid-template-columns:1fr 1fr}.members-modal-form-column{display:flex;flex-direction:column}.members-form-group{margin-bottom:20px}@media (max-width:768px){.members-modal-form-columns{gap:0;grid-template-columns:1fr}}.members-form-group label{color:#2a2829;color:var(--text-primary);display:block;font-size:.95rem;font-weight:600;margin-bottom:8px}.members-modal-input,.members-modal-select{background:#fff;border:1px solid #e9ecef;border-radius:12px;color:#2a2829;color:var(--text-primary);cursor:pointer;font-size:.95rem;padding:12px 16px;transition:all .3s ease;width:100%}.members-modal-input{cursor:text}.members-modal-input:focus,.members-modal-select:focus{border-color:#263a99;border-color:var(--primary);box-shadow:0 0 0 3px #4ecdc41a;outline:none}.members-modal-buttons{border-top:1px solid #e9ecef;display:flex;gap:12px;justify-content:flex-end;margin-top:25px;padding-top:25px}.members-modal-button{border:none;border-radius:8px;cursor:pointer;font-size:.95rem;font-weight:600;padding:12px 24px;transition:all .3s ease}.members-modal-button.primary{background:linear-gradient(135deg,#28a745,#20c997);color:#fff}.members-modal-button.primary:hover{box-shadow:0 4px 12px #28a7454d;transform:translateY(-2px)}.members-modal-button.secondary{background:#6c757d;color:#fff}.members-modal-button.secondary:hover{background:#5a6268}.members-alert{animation:slideInRight .3s ease;background:linear-gradient(135deg,#28a745,#20c997);border-radius:12px;box-shadow:0 4px 20px #0003;color:#fff;font-weight:600;padding:16px 24px;position:fixed;right:20px;top:20px;z-index:2000}@keyframes slideInRight{0%{opacity:0;transform:translateX(400px)}to{opacity:1;transform:translateX(0)}}.members-empty-state{color:#636e72;color:var(--text-tertiary);padding:32px;padding:var(--spacing-xl)}.members-empty-state,.members-loading-state{font-size:1rem;font-size:var(--font-size-base)}.members-loading-state{color:#6c757d;color:var(--text-secondary);padding:40px;text-align:center}.members-checkbox-label{align-items:center;cursor:pointer;display:flex;gap:8px}.members-checkbox-input{cursor:pointer;height:18px;width:18px}.members-checkbox-helper-text{color:#6c757d;color:var(--text-secondary);display:block;font-size:12px;margin-left:26px}.toast{animation:slideInRight .3s ease;background:#fff;border-radius:12px;box-shadow:0 4px 20px #0003;max-width:500px;min-width:300px;position:fixed;right:20px;top:20px;z-index:2000}.toast-content{align-items:center;display:flex;gap:12px;padding:16px 20px}.toast-icon{flex-shrink:0;font-size:20px;font-weight:700}.toast-message{color:#2a2829;color:var(--text-primary);flex:1 1;font-size:.95rem;font-weight:500}.toast-close{background:none;border:none;color:#636e72;color:var(--text-tertiary);cursor:pointer;font-size:24px;line-height:1;padding:0;transition:color .2s ease}.toast-close:hover{color:#2a2829;color:var(--text-primary)}.toast-success{border-left:4px solid #66bb6a;border-left:4px solid var(--success)}.toast-success .toast-icon{color:#66bb6a;color:var(--success)}.toast-error{border-left:4px solid #ef5350;border-left:4px solid var(--error)}.toast-error .toast-icon{color:#ef5350;color:var(--error)}.toast-info{border-left:4px solid #85c1e9;border-left:4px solid var(--info)}.toast-info .toast-icon{color:#85c1e9;color:var(--info)}.toast-warning{border-left:4px solid #ffa726;border-left:4px solid var(--warning)}.toast-warning .toast-icon{color:#ffa726;color:var(--warning)}.comboBox-container{position:relative;width:100%}.comboBox-input-wrapper{align-items:center;display:flex;position:relative}.comboBox-input{background:#fff;border:1px solid #e5e7eb;border:1px solid var(--border-medium);border-radius:12px;color:#2a2829;color:var(--text-primary);cursor:pointer;font-size:.95rem;padding:12px 40px 12px 16px;transition:all .3s ease;width:100%}.comboBox-input:focus{border-color:#263a99;border-color:var(--primary);box-shadow:0 0 0 3px #4ecdc41a;outline:none}.comboBox-input:disabled{background:#fff;background:var(--bg-card);cursor:not-allowed;opacity:.6}.comboBox-arrow{color:#636e72;color:var(--text-tertiary);font-size:12px;pointer-events:none;position:absolute;right:16px}.comboBox-dropdown{background:#fff;border:1px solid #e5e7eb;border:1px solid var(--border-medium);border-radius:12px;box-shadow:0 4px 12px #0000001a;left:0;max-height:200px;overflow-y:auto;position:absolute;right:0;top:calc(100% + 4px);z-index:1000}.comboBox-option{color:#2a2829;color:var(--text-primary);cursor:pointer;padding:12px 16px;transition:background .2s ease}.comboBox-option:hover{background:#fff;background:var(--bg-card)}.comboBox-option.selected{background:#4ecdc41a;color:#263a99;color:var(--primary);font-weight:600}.comboBox-no-results{color:#636e72;color:var(--text-tertiary);font-size:.9rem;padding:12px 16px;text-align:center}.comboBox-container.disabled .comboBox-input{cursor:not-allowed}.filter-error-notice{background:#ef53501a;border-left:3px solid #ef5350;border-left:3px solid var(--error);border-radius:6px;margin-bottom:8px;padding:8px 12px}.selection-info{align-items:center;background:#fff;background:var(--bg-card);border-radius:8px;display:flex;gap:12px;margin-bottom:16px;padding:12px 16px}.selection-info-text{color:#2a2829;color:var(--text-primary);font-size:.95rem;font-weight:600}.selection-clear-button{background:none;border:1px solid #e5e7eb;border:1px solid var(--border-medium);border-radius:6px;color:#6c757d;color:var(--text-secondary);cursor:pointer;font-size:.85rem;padding:4px 12px;transition:all .2s ease}.selection-clear-button:hover{background:#fff;background:var(--bg-elevated);color:#2a2829;color:var(--text-primary)}.sortable-header{cursor:pointer;padding-right:24px;position:relative;-webkit-user-select:none;user-select:none}.sortable-header:hover{background:#fff;background:var(--bg-card)}.sort-icon{color:#636e72;color:var(--text-tertiary);font-size:12px;position:absolute;right:8px;top:50%;transform:translateY(-50%)}.sort-icon.active{color:#263a99;color:var(--primary)}.current-affiliation{background:#fff;background:var(--bg-card);border-left:4px solid #85c1e9;border-left:4px solid var(--info);border-radius:8px;margin-bottom:20px;padding:12px 16px}.current-affiliation-label{color:#6c757d;color:var(--text-secondary);font-size:.85rem;margin-bottom:4px}.current-affiliation-value{color:#2a2829;color:var(--text-primary);font-size:.95rem;font-weight:600}.form-error-message{color:#ef5350;color:var(--error);display:block;font-size:.85rem;margin-top:4px}.form-field-error{border-color:#ef5350!important;border-color:var(--error)!important}.form-field-error:focus{box-shadow:0 0 0 3px #ef53501a!important}@media (max-width:768px){.members-sticky-header{padding:15px 16px 0}.members-header{padding-bottom:10px}.members-controls{align-items:stretch;flex-direction:column;padding:15px 0}.table-container{margin:20px 16px}.members-search-bar{flex-direction:column;max-width:none}.members-filter-select{width:100%}.search-box{max-width:none}.members-action-buttons{flex-direction:column}.change-affiliation-button{width:100%}}.forum-management-container{padding:20px 40px 20px 0}.tab-container{border-bottom:2px solid #eee;display:flex;margin-bottom:20px}.tab{background:none;border:none;border-bottom:3px solid #0000;color:#888;cursor:pointer;font-size:1rem;font-weight:700;outline:none;padding:12px 24px;transition:border .2s,color .2s}.tab.active{border-bottom-color:#263a99;border-bottom-color:var(--primary);color:#263a99;color:var(--primary)}.content{padding:20px 40px 20px 0}.forum-header{background:linear-gradient(135deg,#263a99,#97b4de);background:var(--gradient-primary);border-radius:8px;color:#fff;margin-bottom:24px;padding:24px}.forum-title{font-size:1.5rem;font-weight:700;margin:0 0 8px}.forum-subtitle{font-size:1rem;margin:0;opacity:.9}.search-filter-section{align-items:center;display:flex;flex-wrap:wrap;gap:16px;margin-bottom:24px}.search-input{border:1px solid #ddd;border-radius:6px;flex:1 1;font-size:1rem;min-width:300px;outline:none;padding:12px 16px}.search-input:focus{border-color:#263a99;border-color:var(--primary);box-shadow:0 0 0 2px #4ecdc41a}.period-select{background:#fff;border:1px solid #ddd;border-radius:6px;cursor:pointer;font-size:1rem;outline:none;padding:12px 16px}.period-select:focus{border-color:#263a99;border-color:var(--primary)}.search-button{background:linear-gradient(135deg,#263a99,#97b4de);background:var(--gradient-primary);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:12px 24px;transition:background-color .2s}.search-button:hover{background:#1a2c6b;background:var(--primary-dark)}.forum-table{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;margin-right:40px;overflow:hidden}.table-header{background:#f8f9fa;color:#495057;font-weight:600;padding:16px 24px}.table-header,.table-row{grid-gap:16px;border-bottom:1px solid #eee;display:grid;gap:16px;grid-template-columns:2fr 1fr 2fr 1fr}.table-row{align-items:center;padding:20px 24px}.table-row:last-child{border-bottom:none}.table-row:hover{background:#f8f9fa}.user-info{gap:12px}.user-avatar,.user-info{align-items:center;display:flex}.user-avatar{background:linear-gradient(135deg,#263a99,#97b4de);background:var(--gradient-primary);border-radius:50%;color:#fff;font-size:1.1rem;font-weight:600;height:40px;justify-content:center;width:40px}.user-details{display:flex;flex-direction:column}.user-name{color:#333;font-weight:600;margin-bottom:4px}.date-text,.user-meta{color:#666;font-size:.875rem}.message-preview{color:#333;line-height:1.5;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.action-buttons{display:flex;gap:8px}.view-button{background:#263a99;background:var(--primary);border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.875rem;padding:8px 16px;transition:background-color .2s}.view-button:hover{background:#1a2c6b;background:var(--primary-dark)}.delete-button{background:#dc3545;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.875rem;padding:8px 16px;transition:background-color .2s}.delete-button:hover{background:#c82333}.prayer-header{background:linear-gradient(135deg,#263a99,#97b4de);background:var(--gradient-primary);border-radius:8px;color:#fff;margin-bottom:24px;padding:24px}.prayer-title{font-size:1.5rem;font-weight:700;margin:0 0 8px}.prayer-subtitle{font-size:1rem;margin:0;opacity:.9}.prayer-search-filter-section{align-items:center;display:flex;flex-wrap:wrap;gap:16px;margin-bottom:24px}.prayer-search-input{border:1px solid #ddd;border-radius:6px;flex:1 1;font-size:1rem;min-width:300px;outline:none;padding:12px 16px}.prayer-search-input:focus{border-color:#263a99;border-color:var(--primary);box-shadow:0 0 0 2px #4ecdc41a}.prayer-period-select{background:#fff;border:1px solid #ddd;border-radius:6px;cursor:pointer;font-size:1rem;outline:none;padding:12px 16px}.prayer-period-select:focus{border-color:#263a99;border-color:var(--primary)}.prayer-search-button{background:linear-gradient(135deg,#263a99,#97b4de);background:var(--gradient-primary);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:12px 24px;transition:background-color .2s}.prayer-search-button:hover{background:#1a2c6b;background:var(--primary-dark)}.prayer-table{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;margin-right:40px;overflow:hidden}.prayer-table-header{background:#f8f9fa;color:#333;font-weight:600}.prayer-table-header,.prayer-table-row{grid-gap:16px;border-bottom:1px solid #eee;display:grid;gap:16px;grid-template-columns:200px 120px 1fr 140px;padding:16px 20px}.prayer-table-row{align-items:center}.prayer-table-row:hover{background:#f8f9fa}.prayer-table-row:last-child{border-bottom:none}.prayer-content{color:#333;font-size:.95rem;line-height:1.5}.prayer-date{color:#666;font-size:.9rem}.prayer-actions{display:flex;gap:8px}.prayer-view-button{background:#97b4de;background:var(--secondary);border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.85rem;padding:6px 12px;transition:background-color .2s}.prayer-view-button:hover{background:#7a9bd1;background:var(--secondary-dark)}.prayer-delete-button{background:#dc3545;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.85rem;padding:6px 12px;transition:background-color .2s}.prayer-delete-button:hover{background:#c82333}.prayer-pagination{align-items:center;display:flex;gap:8px;justify-content:center;margin-right:40px;margin-top:24px}.prayer-page-button{background:#fff;border:1px solid #ddd;border-radius:4px;color:#333;cursor:pointer;padding:8px 12px;transition:all .2s}.prayer-page-button:hover{background:#f8f9fa}.prayer-page-button.active{background:#263a99;background:var(--primary);border-color:#263a99;border-color:var(--primary);color:#fff}.modal-overlay{align-items:center;background:#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 10px 25px #0003;max-height:90vh;max-width:600px;overflow-y:auto;padding:0;position:relative;width:90%}.modal-header{padding:24px 24px 0;position:relative}.modal-title{border-left:4px solid #97b4de;border-left:4px solid var(--secondary);color:#333;font-size:1.5rem;font-weight:700;margin:0;padding-left:16px}.close-button{align-items:center;background:none;border:none;border-radius:50%;color:#666;cursor:pointer;display:flex;font-size:1.5rem;height:32px;justify-content:center;position:absolute;right:20px;top:20px;width:32px}.close-button:hover{background:#f0f0f0}.modal-body{padding:24px}.user-info-box{background:#f8f9fa;border-radius:8px;padding:20px}.user-info-row{align-items:center;display:flex;margin-bottom:8px}.user-info-row:last-child{margin-bottom:0}.user-info-label{color:#333;font-weight:600;margin-right:16px;min-width:80px}.user-info-value{color:#666}.content-section{margin-bottom:24px}.content-section:last-child{margin-bottom:0}.section-title{color:#263a99;color:var(--primary);font-size:1.1rem;font-weight:600;margin:0 0 12px}.section-content{border-left:2px solid #97b4de;border-left:2px solid var(--secondary);color:#333;line-height:1.6;margin:0;padding-left:16px}.modal-footer{border-top:1px solid #eee;display:flex;gap:12px;justify-content:flex-end;padding:24px}.edit-button{background:#ffc107;border:none;border-radius:6px;color:#333;cursor:pointer;font-size:1rem;font-weight:600;padding:12px 24px;transition:background-color .2s}.edit-button:hover{background:#e0a800}.close-modal-button{background:#fff;border:1px solid #ddd;border-radius:6px;color:#666;cursor:pointer;font-size:1rem;font-weight:600;padding:12px 24px;transition:all .2s}.close-modal-button:hover{background:#f8f9fa;border-color:#bbb}.prayer-modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.prayer-modal-content{background:#fff;border-radius:12px;box-shadow:0 10px 25px #0003;max-height:90vh;max-width:500px;overflow-y:auto;padding:0;position:relative;width:90%}.prayer-modal-header{padding:24px 24px 0;position:relative}.prayer-modal-title{border-left:4px solid #97b4de;border-left:4px solid var(--secondary);color:#333;font-size:1.5rem;font-weight:700;margin:0;padding-left:16px}.prayer-close-button{align-items:center;background:none;border:none;border-radius:50%;color:#666;cursor:pointer;display:flex;font-size:1.5rem;height:32px;justify-content:center;position:absolute;right:20px;top:20px;width:32px}.prayer-close-button:hover{background:#f0f0f0}.prayer-modal-body{padding:24px}.prayer-user-info-box{background:#f8f9fa;border-radius:8px;margin-bottom:24px;padding:20px}.prayer-user-info-row{align-items:flex-start;display:flex;margin-bottom:8px}.prayer-user-info-row:last-child{margin-bottom:0}.prayer-user-info-label{color:#333;font-weight:600;margin-right:16px;margin-top:12px;min-width:80px}.prayer-user-info-value{color:#666;margin-top:12px}.prayer-textarea{background:#fff;border:1px solid #ddd;border-radius:6px;color:#333;font-family:inherit;font-size:1rem;line-height:1.5;min-height:100px;padding:12px;resize:vertical;width:100%}.prayer-textarea:focus{border-color:#263a99;border-color:var(--primary);box-shadow:0 0 0 2px #4ecdc41a;outline:none}.prayer-textarea::placeholder{color:#999}.prayer-modal-footer{border-top:1px solid #eee;display:flex;gap:12px;justify-content:flex-end;padding:24px}.prayer-edit-button{background:#ffc107;border:none;border-radius:6px;color:#333;cursor:pointer;font-size:1rem;font-weight:600;padding:12px 24px;transition:background-color .2s}.prayer-edit-button:hover{background:#e0a800}.prayer-close-modal-button{background:#fff;border:1px solid #ddd;border-radius:6px;color:#666;cursor:pointer;font-size:1rem;font-weight:600;padding:12px 24px;transition:all .2s}.prayer-close-modal-button:hover{background:#f8f9fa;border-color:#bbb}.sidebar-container{background:#fff;background:var(--bg-elevated);border-right:1px solid #e9ecef;border-right:1px solid var(--border-light);box-shadow:0 4px 12px #0000000d;display:flex;flex-direction:column;height:100vh;left:0;position:fixed;top:0;transition:transform .3s ease;width:280px;z-index:1000}@media (max-width:768px){.sidebar-container{transform:translateX(-100%)}.sidebar-container.open{transform:translateX(0)}}.sidebar-header{background:linear-gradient(135deg,#263a99,#97b4de);background:var(--gradient-primary);border-bottom:1px solid #e9ecef;border-bottom:1px solid var(--border-light);padding:24px;padding:var(--spacing-lg)}.sidebar-logo{text-align:center}.sidebar-title{color:#fff;font-size:1.125rem;font-size:var(--font-size-lg);font-weight:700;font-weight:var(--font-weight-bold);margin:0 0 4px}.sidebar-subtitle{color:#ffffffe6;font-size:.875rem;font-size:var(--font-size-sm);margin:0}.sidebar-content{flex:1 1;overflow-y:auto;padding:16px 0;padding:var(--spacing-md) 0}.sidebar-nav{height:100%}.sidebar-category{margin-bottom:24px;margin-bottom:var(--spacing-lg)}.sidebar-category-title{color:#636e72;color:var(--text-tertiary);font-size:.75rem;font-size:var(--font-size-xs);font-weight:700;font-weight:var(--font-weight-bold);letter-spacing:.5px;margin-bottom:8px;margin-bottom:var(--spacing-sm);padding:0 24px;padding:0 var(--spacing-lg);text-transform:uppercase}.sidebar-menu-list{list-style:none;margin:0;padding:0}.sidebar-menu-item{margin:0}.sidebar-menu-button{align-items:center;background:#0000;border:none;color:#2a2829;color:var(--text-primary);cursor:pointer;display:flex;font-size:.875rem;font-size:var(--font-size-sm);font-weight:500;font-weight:var(--font-weight-medium);gap:12px;padding:12px 24px;padding:12px var(--spacing-lg);text-align:left;transition:all .2s ease;width:100%}.sidebar-menu-button:hover{background:#fff;background:var(--bg-card);color:#263a99;color:var(--primary)}.sidebar-menu-button.active{background:linear-gradient(135deg,#263a99,#97b4de);background:var(--gradient-primary);color:#fff;font-weight:700;font-weight:var(--font-weight-bold)}.sidebar-menu-icon{align-items:center;display:flex;flex-shrink:0;height:20px;justify-content:center;width:20px}.sidebar-menu-text{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-footer{background:#fff;background:var(--bg-card);border-top:1px solid #e9ecef;border-top:1px solid var(--border-light);padding:16px 24px;padding:var(--spacing-md) var(--spacing-lg)}.sidebar-user-info{align-items:center;display:flex;gap:12px}.sidebar-user-avatar{align-items:center;background:linear-gradient(135deg,#263a99,#97b4de);background:var(--gradient-primary);border-radius:50%;color:#fff;display:flex;font-size:18px;height:40px;justify-content:center;width:40px}.sidebar-user-details{flex:1 1}.sidebar-user-name{color:#2a2829;color:var(--text-primary);font-size:.875rem;font-size:var(--font-size-sm);font-weight:500;font-weight:var(--font-weight-medium);margin:0}.sidebar-user-role{color:#636e72;color:var(--text-tertiary);font-size:.75rem;font-size:var(--font-size-xs);margin:2px 0 0}.main-content-with-sidebar{background:#f0ebe5;background:var(--bg-primary);box-sizing:border-box;flex:1 1;max-width:100%;min-height:100vh;min-width:0;overflow-x:hidden;padding:16px;padding:var(--spacing-md);width:100%}@media (max-width:768px){.main-content-with-sidebar{padding:8px;padding:var(--spacing-sm)}}@media (max-width:480px){.main-content-with-sidebar{padding:4px;padding:var(--spacing-xs)}}@media (max-width:1024px){.sidebar-container{width:240px}.main-content-with-sidebar{flex:1 1}.sidebar-title{font-size:var(--font-size-md)}.sidebar-menu-button{font-size:.75rem;font-size:var(--font-size-xs);padding:10px 16px;padding:10px var(--spacing-md)}}.visitation-detail-container{background:#f0ebe5;background:var(--bg-primary);margin:0 auto;max-width:1200px;min-height:100vh;padding:32px;padding:var(--spacing-xl)}.visitation-detail-header{align-items:center;border-bottom:2px solid #e9ecef;border-bottom:2px solid var(--border-light);display:flex;justify-content:space-between;margin-bottom:32px;margin-bottom:var(--spacing-xl);padding-bottom:24px;padding-bottom:var(--spacing-lg)}.visitation-detail-header h1{color:#2a2829;color:var(--text-primary);font-size:1.25rem;font-size:var(--font-size-xl);font-weight:700;font-weight:var(--font-weight-bold);margin:0}.visitation-detail-back-button{align-items:center;background:#fff;background:var(--bg-elevated);border:1px solid #e9ecef;border:1px solid var(--border-light);border-radius:12px;border-radius:var(--radius-md);color:#2a2829;color:var(--text-primary);cursor:pointer;display:flex;font-size:.875rem;font-size:var(--font-size-sm);font-weight:500;font-weight:var(--font-weight-medium);gap:4px;gap:var(--spacing-xs);padding:8px 24px;padding:var(--spacing-sm) var(--spacing-lg);transition:all var(--duration-normal) var(--ease-out)}.visitation-detail-back-button:hover{background:#fff;background:var(--bg-card);border-color:#e5e7eb;border-color:var(--border-medium);transform:translateY(-2px)}.visitation-detail-content-grid{grid-gap:32px;grid-gap:var(--spacing-xl);display:grid;gap:32px;gap:var(--spacing-xl);grid-template-columns:2fr 1fr}@media (max-width:1024px){.visitation-detail-content-grid{gap:24px;gap:var(--spacing-lg);grid-template-columns:1fr}}.visitation-detail-main-content,.visitation-detail-side-content{background:#fff;background:var(--bg-elevated);border:1px solid #e9ecef;border:1px solid var(--border-light);border-radius:16px;border-radius:var(--radius-lg);box-shadow:0 2px 8px #0000000d;box-shadow:var(--shadow-light);padding:32px;padding:var(--spacing-xl)}.visitation-detail-side-content{height:-webkit-fit-content;height:fit-content}.visitation-detail-section{margin-bottom:32px;margin-bottom:var(--spacing-xl)}.visitation-detail-section:last-child{margin-bottom:0}.visitation-detail-section h3{align-items:center;border-bottom:2px solid #e9ecef;border-bottom:2px solid var(--border-light);color:#2a2829;color:var(--text-primary);display:flex;font-size:var(--font-size-md);font-weight:700;font-weight:var(--font-weight-bold);gap:4px;gap:var(--spacing-xs);margin:0 0 24px;margin:0 0 var(--spacing-lg) 0;padding-bottom:8px;padding-bottom:var(--spacing-sm)}.visitation-detail-section h3:before{background:linear-gradient(135deg,#263a99,#97b4de);background:var(--gradient-primary);border-radius:2px;content:"";height:24px;width:4px}.visitation-detail-info-grid{grid-gap:24px;grid-gap:var(--spacing-lg);display:grid;gap:24px;gap:var(--spacing-lg);grid-template-columns:1fr 1fr}@media (max-width:768px){.visitation-detail-info-grid{gap:16px;gap:var(--spacing-md);grid-template-columns:1fr}}.visitation-detail-info-item{display:flex;flex-direction:column;gap:4px;gap:var(--spacing-xs)}.visitation-detail-info-label{color:#6c757d;color:var(--text-secondary);font-size:.875rem;font-size:var(--font-size-sm);font-weight:500;font-weight:var(--font-weight-medium);letter-spacing:.5px;text-transform:uppercase}.visitation-detail-info-value{color:#2a2829;color:var(--text-primary);font-size:1rem;font-size:var(--font-size-base);font-weight:500;font-weight:var(--font-weight-medium)}.visitation-detail-method-badge{border-radius:20px;font-size:.875rem;font-size:var(--font-size-sm);font-weight:500;font-weight:var(--font-weight-medium);padding:6px 16px;padding:6px var(--spacing-md)}.visitation-detail-method-badge.만남{background:#e3f2fd;background:var(--method-meeting-bg);color:#1976d2;color:var(--method-meeting-text)}.visitation-detail-method-badge.통화{background:#f3e5f5;background:var(--method-call-bg);color:#7b1fa2;color:var(--method-call-text)}.visitation-detail-method-badge.카카오톡{background:#fff3e0;background:var(--method-kakao-bg);color:#f57c00;color:var(--method-kakao-text)}.visitation-detail-content-text{align-items:flex-start;background:#dcd0be;background:var(--bg-secondary);border:1px solid #e9ecef;border:1px solid var(--border-light);border-radius:12px;border-radius:var(--radius-md);color:#2a2829;color:var(--text-primary);display:flex;font-size:1rem;font-size:var(--font-size-base);line-height:1.75;line-height:var(--line-height-relaxed);min-height:200px;padding:24px;padding:var(--spacing-lg);white-space:pre-wrap}.visitation-detail-photo-section{margin-bottom:24px;margin-bottom:var(--spacing-lg);text-align:center}.visitation-detail-photo-image{border-radius:12px;border-radius:var(--radius-md);box-shadow:0 4px 12px #00000014;box-shadow:var(--shadow-medium);max-height:400px;max-width:100%}.visitation-detail-no-photo{align-items:center;background:#dcd0be;background:var(--bg-secondary);border:2px dashed #e9ecef;border:2px dashed var(--border-light);border-radius:12px;border-radius:var(--radius-md);box-sizing:border-box;color:#6c757d;color:var(--text-secondary);display:flex;flex-direction:column;font-size:.75rem;font-size:var(--font-size-xs);height:120px;justify-content:center;margin:0 auto;width:120px}.visitation-detail-no-photo:before{content:"📷";display:block;font-size:1.125rem;font-size:var(--font-size-lg);margin-bottom:4px;margin-bottom:var(--spacing-xs)}.visitation-detail-action-buttons{display:flex;gap:8px;gap:var(--spacing-sm);margin-top:24px;margin-top:var(--spacing-lg)}.visitation-detail-button{align-items:center;border:none;border-radius:12px;border-radius:var(--radius-md);cursor:pointer;display:flex;font-size:.875rem;font-size:var(--font-size-sm);font-weight:500;font-weight:var(--font-weight-medium);gap:4px;gap:var(--spacing-xs);padding:8px 24px;padding:var(--spacing-sm) var(--spacing-lg);transition:all var(--duration-normal) var(--ease-out)}.visitation-detail-button.primary{background:linear-gradient(135deg,#263a99,#97b4de);background:var(--gradient-primary);color:#fff}.visitation-detail-button.primary:hover{box-shadow:0 4px 12px #00000014;box-shadow:var(--shadow-medium);transform:translateY(-2px)}.visitation-detail-button:not(.primary){background:#fff;background:var(--bg-elevated);border:1px solid #e9ecef;border:1px solid var(--border-light);color:#2a2829;color:var(--text-primary)}.visitation-detail-button:not(.primary):hover{background:#fff;background:var(--bg-card);border-color:#e5e7eb;border-color:var(--border-medium)}.visitation-detail-button.danger{background:#ef5350;background:var(--error);color:#fff}.visitation-detail-button.danger:hover{background:#d32f2f}.visitation-detail-loading{align-items:center;color:#6c757d;color:var(--text-secondary);display:flex;font-size:1rem;font-size:var(--font-size-base);justify-content:center;min-height:400px}.visitation-detail-error{color:#ef5350;color:var(--error);padding:32px 24px;padding:var(--spacing-xl) var(--spacing-lg);text-align:center}.visitation-detail-error h2{margin-bottom:16px;margin-bottom:var(--spacing-md)}.visitation-detail-editable-textarea{background:#fff;background:var(--bg-elevated);border:2px solid #263a99;border:2px solid var(--primary);border-radius:12px;border-radius:var(--radius-md);color:#2a2829;color:var(--text-primary);font-family:inherit;font-size:1rem;font-size:var(--font-size-base);line-height:1.75;line-height:var(--line-height-relaxed);min-height:200px;padding:24px;padding:var(--spacing-lg);resize:vertical;width:100%}.visitation-detail-editable-textarea:focus{border-color:#263a99;border-color:var(--primary);box-shadow:0 0 0 3px #4ecdc41a;outline:none}.visitation-detail-editable-input{background:#fff;background:var(--bg-elevated);border:2px solid #263a99;border:2px solid var(--primary);border-radius:8px;border-radius:var(--radius-sm);box-sizing:border-box;color:#2a2829;color:var(--text-primary);font-size:1rem;font-size:var(--font-size-base);padding:8px 16px;padding:var(--spacing-sm) var(--spacing-md);width:100%}.visitation-detail-editable-input:focus{border-color:#263a99;border-color:var(--primary);box-shadow:0 0 0 3px #4ecdc41a;outline:none}.visitation-detail-editable-select{background:#fff;background:var(--bg-elevated);border:2px solid #263a99;border:2px solid var(--primary);border-radius:8px;border-radius:var(--radius-sm);box-sizing:border-box;color:#2a2829;color:var(--text-primary);cursor:pointer;font-size:1rem;font-size:var(--font-size-base);padding:8px 16px;padding:var(--spacing-sm) var(--spacing-md);width:100%}.visitation-detail-editable-select:focus{border-color:#263a99;border-color:var(--primary);outline:none}.visitation-detail-improve-section{align-items:center;display:flex;gap:8px;gap:var(--spacing-sm);margin-top:16px;margin-top:var(--spacing-md)}.visitation-detail-improve-button{background:#263a99;background:var(--primary);border:none;border-radius:8px;border-radius:var(--radius-sm);color:#fff;cursor:pointer;font-size:.875rem;font-size:var(--font-size-sm);padding:4px 16px;padding:var(--spacing-xs) var(--spacing-md);transition:all var(--duration-normal) var(--ease-out)}.visitation-detail-improve-button:hover:not(:disabled){background:#1a2c6b;background:var(--primary-dark)}.visitation-detail-improve-button:disabled{cursor:not-allowed;opacity:.6}.visitation-detail-apply-button{background:#66bb6a;background:var(--success);border:none;border-radius:8px;border-radius:var(--radius-sm);color:#fff;cursor:pointer;font-size:.875rem;font-size:var(--font-size-sm);padding:4px 16px;padding:var(--spacing-xs) var(--spacing-md);transition:all var(--duration-normal) var(--ease-out)}.visitation-detail-apply-button:hover{background:#4caf50}.visitation-detail-improved-preview{background:#dcd0be;background:var(--bg-secondary);border:2px solid #263a99;border-left:4px solid #263a99;border:2px solid var(--primary);border-left-width:4px;border-radius:12px;border-radius:var(--radius-md);margin-top:24px;margin-top:var(--spacing-lg);padding:24px;padding:var(--spacing-lg)}.visitation-detail-improved-preview h4{color:#263a99;color:var(--primary);font-size:1rem;font-size:var(--font-size-base);font-weight:500;font-weight:var(--font-weight-medium);margin:0 0 16px;margin:0 0 var(--spacing-md) 0}.visitation-detail-improved-content{color:#2a2829;color:var(--text-primary);font-size:.875rem;font-size:var(--font-size-sm);line-height:1.5;line-height:var(--line-height-normal);white-space:pre-wrap}.visitation-detail-last-modified{color:#263a99;color:var(--primary);font-weight:700;font-weight:var(--font-weight-bold)}.visitation-detail-no-modification{color:#6c757d;color:var(--text-secondary)}@media (max-width:768px){.visitation-detail-container{padding:16px;padding:var(--spacing-md)}.visitation-detail-header{align-items:flex-start;flex-direction:column;gap:16px;gap:var(--spacing-md)}.visitation-detail-main-content,.visitation-detail-side-content{padding:24px;padding:var(--spacing-lg)}.visitation-detail-action-buttons{flex-direction:column}.visitation-detail-improve-section{align-items:stretch;flex-direction:column}}.member-detail-container{background:#f0ebe5;background:var(--bg-primary);min-height:100vh;padding:32px;padding:var(--spacing-xl)}.member-detail-header{align-items:center;display:flex;gap:24px;gap:var(--spacing-lg);margin-bottom:32px;margin-bottom:var(--spacing-xl)}.member-detail-back-button{background:#dcd0be;background:var(--bg-secondary);border:1px solid #e9ecef;border:1px solid var(--border-light);border-radius:8px;border-radius:var(--radius-sm);color:#2a2829;color:var(--text-primary);cursor:pointer;font-weight:500;font-weight:var(--font-weight-medium);padding:8px 24px;padding:var(--spacing-sm) var(--spacing-lg);transition:all var(--duration-normal) var(--ease-out)}.member-detail-back-button:hover{background:#fff;background:var(--bg-card);border-color:#e5e7eb;border-color:var(--border-medium)}.member-detail-title{color:#2a2829;color:var(--text-primary);font-size:1.25rem;font-size:var(--font-size-xl);font-weight:700;font-weight:var(--font-weight-bold);margin:0}.member-detail-section{background:#fff;background:var(--bg-elevated);border:1px solid #e9ecef;border:1px solid var(--border-light);border-radius:16px;border-radius:var(--radius-lg);box-shadow:0 2px 8px #0000000d;box-shadow:var(--shadow-light);margin-bottom:24px;margin-bottom:var(--spacing-lg);padding:32px;padding:var(--spacing-xl)}.member-detail-section-title{border-bottom:2px solid #263a99;border-bottom:2px solid var(--primary);color:#2a2829;color:var(--text-primary);font-size:1.125rem;font-size:var(--font-size-lg);font-weight:700;font-weight:var(--font-weight-bold);margin-bottom:32px;margin-bottom:var(--spacing-xl);padding-bottom:8px;padding-bottom:var(--spacing-sm)}.member-detail-info-layout{align-items:flex-start;display:flex;gap:32px;gap:var(--spacing-xl)}.member-detail-photo-area{flex-shrink:0}.member-detail-photo-container{align-items:flex-start;display:flex;gap:24px;gap:var(--spacing-lg);margin-bottom:24px;margin-bottom:var(--spacing-lg)}.member-detail-photo-display{align-items:center;background:#dcd0be;background:var(--bg-secondary);border:3px solid #e9ecef;border:3px solid var(--border-light);border-radius:50%;display:flex;flex-shrink:0;height:120px;justify-content:center;overflow:hidden;position:relative;width:120px}.member-detail-photo-display.has-photo{cursor:pointer}.member-detail-photo-image{height:100%;object-fit:cover;width:100%}.member-detail-photo-placeholder{align-items:center;color:var(--text-muted);display:flex;font-size:1.25rem;font-size:var(--font-size-xl);height:100%;justify-content:center;width:100%}.member-detail-photo-controls{display:flex;flex:1 1;flex-direction:column;gap:8px;gap:var(--spacing-sm);min-width:200px}.member-detail-photo-button{border:none;border-radius:8px;border-radius:var(--radius-sm);cursor:pointer;font-size:.875rem;font-size:var(--font-size-sm);font-weight:500;font-weight:var(--font-weight-medium);padding:8px 16px;padding:var(--spacing-sm) var(--spacing-md);transition:all var(--duration-normal) var(--ease-out)}.member-detail-photo-button.primary{background:#263a99;background:var(--primary);color:#fff}.member-detail-photo-button.primary:hover{background:#1a2c6b;background:var(--primary-dark)}.member-detail-photo-button.secondary{background:#dcd0be;background:var(--bg-secondary);border:1px solid #e9ecef;border:1px solid var(--border-light);color:#2a2829;color:var(--text-primary)}.member-detail-photo-button.secondary:hover{background:#fff;background:var(--bg-card)}.member-detail-photo-button.danger{background:#ef5350;background:var(--error);color:#fff}.member-detail-photo-button.danger:hover{background:#d32f2f}.member-detail-photo-input{display:none}.member-detail-photo-info{color:var(--text-muted);font-size:.75rem;font-size:var(--font-size-xs);line-height:1.5;line-height:var(--line-height-normal);margin-top:4px;margin-top:var(--spacing-xs)}.member-detail-info-area{flex:1 1}.member-detail-info-grid{grid-gap:24px;grid-gap:var(--spacing-lg);display:grid;gap:24px;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:24px;margin-bottom:var(--spacing-lg)}.member-detail-info-item{display:flex;flex-direction:column;gap:4px;gap:var(--spacing-xs)}.member-detail-info-label{color:var(--text-muted);font-size:.875rem;font-size:var(--font-size-sm)}.member-detail-info-label,.member-detail-info-value{font-weight:500;font-weight:var(--font-weight-medium)}.member-detail-info-value{color:#2a2829;color:var(--text-primary);font-size:1rem;font-size:var(--font-size-base)}.member-detail-status-badge{border-radius:20px;display:inline-block;font-size:.75rem;font-size:var(--font-size-xs);font-weight:500;font-weight:var(--font-weight-medium);padding:4px 8px;padding:4px var(--spacing-sm)}.member-detail-status-badge.regular{background:#66bb6a;background:var(--success);color:#fff}.member-detail-status-badge.temporary{background:#ffa726;background:var(--warning);color:#fff}.member-detail-status-badge.long-term{background:#ef5350;background:var(--error);color:#fff}.member-detail-sub-tab-navigation,.member-detail-tab-navigation{border-bottom:2px solid #e9ecef;border-bottom:2px solid var(--border-light);display:flex;margin-bottom:24px;margin-bottom:var(--spacing-lg)}.member-detail-tab-button{background:none;border:none;border-bottom:3px solid #0000;color:#6c757d;color:var(--text-secondary);cursor:pointer;font-size:.875rem;font-size:var(--font-size-sm);font-weight:500;font-weight:var(--font-weight-medium);padding:8px 24px;padding:var(--spacing-sm) var(--spacing-lg);transition:all var(--duration-normal) var(--ease-out)}.member-detail-tab-button.active{border-bottom-color:#263a99;border-bottom-color:var(--primary);color:#263a99;color:var(--primary)}.member-detail-tab-button:hover{color:#2a2829;color:var(--text-primary)}.member-detail-history-item{background:#dcd0be;background:var(--bg-secondary);border:1px solid #e9ecef;border:1px solid var(--border-light);border-radius:12px;border-radius:var(--radius-md);margin-bottom:16px;margin-bottom:var(--spacing-md);padding:24px;padding:var(--spacing-lg);transition:all var(--duration-normal) var(--ease-out)}.member-detail-history-item:hover{border-color:#263a99;border-color:var(--primary);box-shadow:0 4px 12px #00000014;box-shadow:var(--shadow-medium);transform:translateY(-2px)}.member-detail-history-item.visitation-item{border-left:4px solid #263a99;border-left:4px solid var(--primary)}.member-detail-history-date{color:var(--text-muted);font-size:.875rem;font-size:var(--font-size-sm);font-weight:500;font-weight:var(--font-weight-medium);margin-bottom:4px;margin-bottom:var(--spacing-xs)}.member-detail-history-content{color:#6c757d;color:var(--text-secondary);line-height:1.5;line-height:var(--line-height-normal)}.member-detail-empty-history{color:var(--text-muted);font-style:italic;padding:32px;padding:var(--spacing-xl);text-align:center}.member-detail-timeline-container{display:flex;flex-direction:column;gap:24px;gap:var(--spacing-lg)}.member-detail-timeline-item{background:#dcd0be;background:var(--bg-secondary);border:1px solid #e9ecef;border:1px solid var(--border-light);border-radius:12px;border-radius:var(--radius-md);cursor:pointer;padding:24px;padding:var(--spacing-lg);transition:all var(--duration-normal) var(--ease-out)}.member-detail-timeline-item:hover{border-color:#263a99;border-color:var(--primary);box-shadow:0 4px 12px #00000014;box-shadow:var(--shadow-medium);transform:translateY(-2px)}.member-detail-timeline-item.visitation-item{border-left:4px solid #263a99;border-left:4px solid var(--primary)}.member-detail-timeline-item.forum-item{border-left:4px solid #66bb6a;border-left:4px solid var(--success)}.member-detail-timeline-item.prayer-item{border-left:4px solid #97b4de;border-left:4px solid var(--secondary)}.member-detail-timeline-date{color:var(--text-muted);font-size:.875rem;font-size:var(--font-size-sm)}.member-detail-timeline-date,.member-detail-timeline-type{font-weight:500;font-weight:var(--font-weight-medium);margin-bottom:4px;margin-bottom:var(--spacing-xs)}.member-detail-timeline-type{border-radius:12px;display:inline-block;font-size:.75rem;font-size:var(--font-size-xs);padding:4px;padding:4px var(--spacing-xs)}.member-detail-timeline-type.visitation{background:#4ecdc433;color:#1a2c6b;color:var(--primary-dark)}.member-detail-timeline-type.forum{background:#66bb6a33;color:#66bb6a;color:var(--success)}.member-detail-timeline-type.prayer{background:#5dade233;color:#7a9bd1;color:var(--secondary-dark)}.member-detail-timeline-content{color:#6c757d;color:var(--text-secondary);line-height:1.5;line-height:var(--line-height-normal)}.member-detail-photo-preview{align-items:center;background:#000c;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.member-detail-photo-preview-image{border-radius:8px;border-radius:var(--radius-sm);max-height:90%;max-width:90%;object-fit:contain}.member-detail-photo-preview-close{background:#00000080;border:none;border-radius:50%;color:#fff;cursor:pointer;font-size:1.125rem;font-size:var(--font-size-lg);height:40px;position:absolute;right:24px;right:var(--spacing-lg);top:24px;top:var(--spacing-lg);width:40px}@media (max-width:1024px){.member-detail-info-layout{flex-direction:column;gap:24px;gap:var(--spacing-lg)}.member-detail-photo-container{align-items:center;flex-direction:column;text-align:center}.member-detail-photo-controls{align-items:center}}@media (max-width:768px){.member-detail-container{padding:16px;padding:var(--spacing-md)}.member-detail-header{align-items:flex-start;flex-direction:column;gap:16px;gap:var(--spacing-md)}.member-detail-section{padding:24px;padding:var(--spacing-lg)}.member-detail-info-grid{gap:16px;gap:var(--spacing-md);grid-template-columns:1fr}.member-detail-sub-tab-navigation,.member-detail-tab-navigation{flex-wrap:wrap}.member-detail-tab-button{font-size:.75rem;font-size:var(--font-size-xs);padding:4px 16px;padding:var(--spacing-xs) var(--spacing-md)}}.auth-container{align-items:center;background:linear-gradient(135deg,#263a99,#97b4de);background:var(--gradient-primary);display:flex;justify-content:center;min-height:100vh;padding:24px;padding:var(--spacing-lg)}.auth-paper{background:#fff;background:var(--bg-elevated);border:1px solid #e9ecef;border:1px solid var(--border-light);border-radius:24px;box-shadow:0 20px 60px #0000001a;max-width:400px;padding:48px;padding:var(--spacing-2xl);width:100%}.header-box{margin-bottom:48px;margin-bottom:var(--spacing-2xl);text-align:center}.auth-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#263a99,#97b4de);background:var(--gradient-primary);-webkit-background-clip:text;background-clip:text;color:#2a2829;color:var(--text-primary);font-size:1.125rem;font-size:var(--font-size-lg);font-weight:700;font-weight:var(--font-weight-bold);margin-bottom:8px;margin-bottom:var(--spacing-sm)}.auth-subtitle{color:#6c757d;color:var(--text-secondary);font-size:.875rem;font-size:var(--font-size-sm);line-height:1.75;line-height:var(--line-height-relaxed)}.input-group{margin-bottom:24px;margin-bottom:var(--spacing-lg)}.input-group:last-of-type{margin-bottom:32px;margin-bottom:var(--spacing-xl)}.button-group{margin-bottom:24px;margin-bottom:var(--spacing-lg)}.common-textfield .MuiOutlinedInput-root{background:#dcd0be;background:var(--bg-secondary);border-radius:12px;transition:all .3s ease}.common-textfield .MuiOutlinedInput-root:hover{background:#fff;background:var(--bg-elevated)}.common-textfield .MuiOutlinedInput-root.Mui-focused{background:#fff;background:var(--bg-elevated);box-shadow:0 0 0 3px #4ecdc41a}.common-textfield .MuiInputLabel-root{color:#6c757d;color:var(--text-secondary);font-weight:500;font-weight:var(--font-weight-medium)}.common-textfield .MuiInputLabel-root.Mui-focused{color:#263a99;color:var(--primary)}.common-button{background:linear-gradient(135deg,#263a99,#97b4de)!important;background:var(--gradient-primary)!important;border:none!important;border-radius:28px!important;box-shadow:0 8px 24px #4ecdc44d!important;color:#fff!important;font-size:1rem!important;font-size:var(--font-size-base)!important;font-weight:500!important;font-weight:var(--font-weight-medium)!important;padding:16px 32px!important;padding:var(--spacing-md) var(--spacing-xl)!important;text-transform:none!important;transition:all .3s ease!important}.common-button:hover{background:linear-gradient(135deg,#1a2c6b,#7a9bd1)!important;background:var(--gradient-primary-hover)!important;box-shadow:0 12px 32px #4ecdc466!important;transform:translateY(-2px)!important}.common-button:disabled{background:#85929e!important;background:var(--text-disabled)!important;box-shadow:none!important;color:#fff!important;opacity:.6!important;transform:none!important}.dugigo-button{border:none!important;border-radius:6px!important;cursor:pointer!important;font-size:1rem!important;font-size:var(--font-size-base)!important;font-weight:600!important;min-height:40px!important;padding:10px 20px!important;text-transform:none!important;transition:all .2s ease!important}.dugigo-button-primary{background:#263a99!important;background:var(--brand-primary)!important;color:#fff!important}.dugigo-button-primary:hover{filter:brightness(.95)!important;transform:translateY(-1px)!important}.dugigo-button-secondary{background:#97b4de!important;background:var(--brand-secondary)!important;color:#fff!important}.dugigo-button-secondary:hover{filter:brightness(.95)!important;transform:translateY(-1px)!important}.dugigo-button-success{background:#28a745!important;background:var(--state-success)!important;color:#fff!important}.dugigo-button-success:hover{filter:brightness(.95)!important;transform:translateY(-1px)!important}.dugigo-button-danger{background:#dc3545!important;background:var(--state-danger)!important;color:#fff!important}.dugigo-button-danger:hover{filter:brightness(.95)!important;transform:translateY(-1px)!important}.dugigo-button-outline{background:#0000!important;border:1px solid #263a99!important;border:1px solid var(--brand-primary)!important;color:#263a99!important;color:var(--brand-primary)!important}.dugigo-button-outline:hover{background:#263a99!important;background:var(--brand-primary)!important;color:#fff!important}.dugigo-button-text{background:#0000!important;box-shadow:none!important;color:#263a99!important;color:var(--brand-primary)!important}.dugigo-button-text:hover{background:#263a991a!important}.dugigo-button-small{font-size:.875rem!important;font-size:var(--font-size-sm)!important;min-height:32px!important;padding:8px 16px!important}.dugigo-button:disabled{cursor:not-allowed!important;filter:none!important;opacity:.6!important;transform:none!important}.dugigo-card{background:#fff;background:var(--bg-card-dugigo);border:1px solid #e9ecef;border:1px solid var(--border-subtle);border-radius:12px;box-shadow:0 2px 8px #0000000d;box-shadow:var(--shadow-light-dugigo);padding:24px;padding:var(--spacing-lg);transition:.3s ease;transition:var(--transition-normal)}.dugigo-card-hoverable:hover{box-shadow:0 4px 12px #00000014;box-shadow:var(--shadow-medium-dugigo);transform:translateY(-1px)}.dugigo-card-accent-primary{border-left:4px solid #263a99;border-left:4px solid var(--brand-primary)}.dugigo-card-accent-secondary{border-left:4px solid #97b4de;border-left:4px solid var(--brand-secondary)}.dugigo-card-accent-success{border-left:4px solid #28a745;border-left:4px solid var(--state-success)}.dugigo-card-accent-warning{border-left:4px solid #ffc107;border-left:4px solid var(--state-warning)}.dugigo-card-accent-danger{border-left:4px solid #dc3545;border-left:4px solid var(--state-danger)}.dugigo-badge{align-items:center;border-radius:12px;display:inline-flex;font-size:.875rem;font-size:var(--font-size-sm);font-weight:600;justify-content:center;line-height:1;padding:4px 12px;white-space:nowrap}.dugigo-badge-primary{background:#263a99;background:var(--brand-primary);color:#fff}.dugigo-badge-secondary{background:#97b4de;background:var(--brand-secondary);color:#fff}.dugigo-badge-success{background:#28a745;background:var(--state-success);color:#fff}.dugigo-badge-warning{background:#ffc107;background:var(--state-warning);color:#fff}.dugigo-badge-danger{background:#dc3545;background:var(--state-danger);color:#fff}.dugigo-badge-info{background:#85c1e9;background:var(--info);color:#fff}.dugigo-badge-small{border-radius:8px;font-size:.75rem;font-size:var(--font-size-xs);padding:2px 8px}.dugigo-badge-large{border-radius:16px;font-size:1rem;font-size:var(--font-size-base);padding:6px 16px}.dugigo-table-container{background:#fff;background:var(--bg-card-dugigo);border:1px solid #e9ecef;border:1px solid var(--border-subtle);border-radius:12px;box-shadow:0 2px 8px #0000000d;box-shadow:var(--shadow-light-dugigo);overflow:hidden}.dugigo-table{border-collapse:collapse;font-size:1rem;font-size:var(--font-size-base);width:100%}.dugigo-table-header{background:#f8f9fa;background:var(--surface-muted)}.status-badge{border-radius:8px;color:#fff;font-size:.75rem;font-size:var(--font-size-xs);font-weight:600;padding:4px 8px}.status-badge.present{background:#28a745;background:var(--state-success)}.status-badge.absent{background:#dc3545;background:var(--state-danger)}.status-badge.late{background:#ffc107;background:var(--state-warning)}.status-badge.excused{background:#6c757d;background:var(--text-secondary-dugigo)}.dugigo-table-header-cell{border-bottom:1px solid #e9ecef;border-bottom:1px solid var(--border-subtle);color:#2a2829;color:var(--brand-text);font-weight:600;padding:16px;text-align:left}.dugigo-table-body .dugigo-table-row{transition:.2s ease;transition:var(--transition-fast)}.dugigo-table-row-clickable{cursor:pointer}.dugigo-table-row-clickable:hover{background:#f8f9fa;background:var(--bg-hover-dugigo);transform:translateY(-1px)}.dugigo-table-cell{border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border-neutral);color:#2a2829;color:var(--text-primary-dugigo);padding:12px 16px}.dugigo-table-align-left{text-align:left}.dugigo-table-align-center{text-align:center}.dugigo-table-align-right{text-align:right}.dugigo-table-empty,.dugigo-table-loading{color:#6c757d;color:var(--text-secondary-dugigo);font-size:1rem;font-size:var(--font-size-base);padding:40px;text-align:center}@media (max-width:1024px){.dugigo-table-container{overflow-x:auto}.dugigo-table{min-width:600px}.dugigo-table-cell,.dugigo-table-header-cell{font-size:.875rem;font-size:var(--font-size-sm);padding:12px 8px}}.dugigo-textfield{margin-bottom:16px;margin-bottom:var(--spacing-md)}.dugigo-textfield .MuiOutlinedInput-root{background:#fff;background:var(--bg-card-dugigo);border-radius:6px;transition:.3s ease;transition:var(--transition-normal)}.dugigo-textfield .MuiOutlinedInput-root .MuiOutlinedInput-notchedOutline{border-color:#e9ecef;border-color:var(--border-subtle);border-width:2px}.dugigo-textfield .MuiOutlinedInput-root:hover .MuiOutlinedInput-notchedOutline{border-color:#263a99;border-color:var(--brand-primary)}.dugigo-textfield .MuiOutlinedInput-root.Mui-focused .MuiOutlinedInput-notchedOutline{border-color:#263a99;border-color:var(--brand-primary);box-shadow:0 0 0 3px #263a991a}.dugigo-textfield .MuiInputLabel-root{color:#6c757d;color:var(--text-secondary-dugigo);font-weight:500}.dugigo-textfield .MuiInputLabel-root.Mui-focused{color:#263a99;color:var(--brand-primary)}.dugigo-textfield .MuiFormHelperText-root{color:#636e72;color:var(--text-muted-dugigo);font-size:.875rem;font-size:var(--font-size-sm)}.dugigo-modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;display:flex;height:100vh;justify-content:center;left:0;padding:24px;padding:var(--spacing-lg);position:fixed;top:0;width:100vw;z-index:1000}.dugigo-modal-content{background:#fff;background:var(--bg-card-dugigo);border-radius:16px;box-shadow:0 8px 25px #00000026;box-shadow:var(--shadow-heavy-dugigo);display:flex;flex-direction:column;max-height:90vh;overflow:hidden}.dugigo-modal-small{max-width:400px;width:100%}.dugigo-modal-medium{max-width:600px;width:100%}.dugigo-modal-large{max-width:800px;width:100%}.dugigo-modal-header{align-items:center;background:#f8f9fa;background:var(--surface-muted);border-bottom:1px solid #e9ecef;border-bottom:1px solid var(--border-subtle);display:flex;justify-content:space-between;padding:24px;padding:var(--spacing-lg)}.dugigo-modal-title{color:#2a2829;color:var(--brand-text);font-size:1.125rem;font-size:var(--font-size-lg);font-weight:700;font-weight:var(--font-weight-bold);margin:0}.dugigo-modal-close{background:none;border:none;border-radius:4px;color:#6c757d;color:var(--text-secondary-dugigo);cursor:pointer;font-size:24px;padding:4px;transition:.2s ease;transition:var(--transition-fast)}.dugigo-modal-close:hover{background:#f8f9fa;background:var(--bg-hover-dugigo);color:#2a2829;color:var(--brand-text)}.dugigo-modal-body{flex:1 1;overflow-y:auto;padding:24px;padding:var(--spacing-lg)}.dugigo-chart-container{background:#fff;background:var(--bg-card-dugigo);border:1px solid #e9ecef;border:1px solid var(--border-subtle);border-radius:12px;box-shadow:0 2px 8px #0000000d;box-shadow:var(--shadow-light-dugigo);padding:24px;padding:var(--spacing-lg)}.dugigo-chart-title{color:#2a2829;color:var(--brand-text);font-size:1.125rem;font-size:var(--font-size-lg);font-weight:700;font-weight:var(--font-weight-bold);margin:0 0 16px;margin:0 0 var(--spacing-md) 0;text-align:center}.dugigo-chart-summary{background:#f8f9fa;background:var(--surface-muted);border-radius:8px;display:flex;justify-content:space-around;margin-top:16px;margin-top:var(--spacing-md);padding:16px;padding:var(--spacing-md)}.dugigo-chart-summary-item{text-align:center}.dugigo-chart-summary-label{color:#6c757d;color:var(--text-secondary-dugigo);font-size:.875rem;font-size:var(--font-size-sm);margin-bottom:4px}.dugigo-chart-summary-value{color:#2a2829;color:var(--brand-text);font-size:1.25rem;font-size:var(--font-size-xl);font-weight:700;font-weight:var(--font-weight-bold)}.dugigo-chart-container.highlight{background:linear-gradient(135deg,#667eea,#764ba2);background:var(--gradient-indigo);color:#fff}.dugigo-chart-container.highlight .dugigo-chart-title{color:#fff}.dugigo-chart-container.highlight .dugigo-chart-summary-label{color:#fffc}.dugigo-chart-container.highlight .dugigo-chart-summary-value{color:#fff}@media (max-width:1024px){.dugigo-chart-container{padding:16px;padding:var(--spacing-md)}.dugigo-chart-title{font-size:1rem;font-size:var(--font-size-base)}.dugigo-chart-summary{flex-direction:column;gap:8px;gap:var(--spacing-sm)}}.dugigo-sidebar-container{background:linear-gradient(180deg,#263a99,#4a6bc4 30%,#7a9bd1 60%,#97b4de);border-right:1px solid #ffffff1a;box-shadow:4px 0 20px #263a994d;display:flex;flex-direction:column;height:100vh;left:0;overflow:hidden;position:fixed;top:0;transition:.3s ease;transition:var(--transition-normal);width:240px;width:var(--sidebar-width-desktop);z-index:1000}.dugigo-sidebar-header{background:linear-gradient(135deg,#1a2c6b,#263a99 50%,#4a6bc4);border-bottom:1px solid #ffffff26;padding:24px;padding:var(--spacing-lg);position:relative;z-index:1}.dugigo-sidebar-header:after{background:linear-gradient(90deg,#0000,#ffffff4d 50%,#0000);bottom:0;content:"";height:1px;left:0;position:absolute;right:0}.dugigo-sidebar-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#f0ebe5,#dcd0be);background:var(--gradient-logo);background-clip:text;-webkit-background-clip:text;color:#fff;font-size:1.25rem;font-size:var(--font-size-xl);font-weight:700;font-weight:var(--font-weight-bold);margin:0 0 4px;text-align:center}.dugigo-sidebar-subtitle{color:#ffffffd9;font-size:.875rem;font-size:var(--font-size-sm);margin:0;text-align:center;text-shadow:0 1px 2px #0003}.dugigo-sidebar-content{background:#0000;flex:1 1;overflow-y:auto;padding:16px 0;padding:var(--spacing-md) 0;position:relative}.dugigo-sidebar-content::-webkit-scrollbar{width:6px}.dugigo-sidebar-content::-webkit-scrollbar-track{background:#ffffff0d}.dugigo-sidebar-content::-webkit-scrollbar-thumb{background:#fff3;border-radius:3px}.dugigo-sidebar-content::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.dugigo-sidebar-category{margin-bottom:24px;margin-bottom:var(--spacing-lg)}.dugigo-sidebar-category-title{color:#ffffffb3;font-size:.75rem;font-size:var(--font-size-xs);font-weight:700;font-weight:var(--font-weight-bold);letter-spacing:1px;margin-bottom:8px;margin-bottom:var(--spacing-sm);padding:0 24px;padding:0 var(--spacing-lg);text-shadow:0 1px 2px #0003;text-transform:uppercase}.dugigo-sidebar-menu-list{list-style:none;margin:0;padding:0}.dugigo-sidebar-menu-item{margin:0}.dugigo-sidebar-menu-button{align-items:center;background:none;border:none;color:#ffffffd9;cursor:pointer;display:flex;font-size:1rem;font-size:var(--font-size-base);gap:12px;padding:12px 24px;padding:12px var(--spacing-lg);position:relative;text-align:left;transition:all .2s ease;width:100%}.dugigo-sidebar-menu-button:hover{background:#ffffff1a;color:#fff;transform:translateX(4px)}.dugigo-sidebar-menu-button.active{background:linear-gradient(90deg,#fff3,#ffffff1a);box-shadow:inset 0 0 20px #ffffff1a;color:#fff;font-weight:700;font-weight:var(--font-weight-bold)}.dugigo-sidebar-menu-button.active:before{background:linear-gradient(180deg,#fffc,#fff6);bottom:0;box-shadow:0 0 10px #ffffff80;content:"";left:0;position:absolute;top:0;width:4px}.dugigo-sidebar-menu-icon{align-items:center;display:flex;flex-shrink:0;height:20px;justify-content:center;width:20px}.dugigo-sidebar-menu-text{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dugigo-sidebar-footer{background:#1a2c6b;border-top:1px solid #ffffff1a;padding:16px 24px;padding:var(--spacing-md) var(--spacing-lg);position:relative;z-index:1}.dugigo-sidebar-user-info{align-items:center;display:flex;gap:12px}.dugigo-sidebar-user-avatar{align-items:center;background:linear-gradient(135deg,#263a99,#97b4de);background:var(--gradient-primary-dugigo);border-radius:50%;color:#fff;display:flex;font-size:18px;height:40px;justify-content:center;width:40px}.dugigo-sidebar-user-details{flex:1 1}.dugigo-sidebar-user-name{color:#fffffff2;font-size:.875rem;font-size:var(--font-size-sm);font-weight:500;font-weight:var(--font-weight-medium);margin:0;text-shadow:0 1px 2px #0003}.dugigo-sidebar-user-role{color:#ffffffb3;font-size:.75rem;font-size:var(--font-size-xs);margin:2px 0 0}@media (max-width:1024px){.dugigo-sidebar-container{width:200px;width:var(--sidebar-width-tablet)}}@media (max-width:767px){.dugigo-sidebar-container{transform:translateX(-100%);width:180px;width:var(--sidebar-width-mobile)}.dugigo-sidebar-container.open{transform:translateX(0)}}.dugigo-main-layout{display:flex;height:100vh;overflow:hidden}.dugigo-main-content{background:#f0ebe5;background:var(--background-primary-dugigo);flex:1 1;height:100%;margin-left:240px;margin-left:var(--sidebar-width-desktop);overflow:auto}.dugigo-main-content-inner{box-sizing:border-box;max-width:100%;padding:24px;padding:var(--spacing-lg)}.dugigo-header{background:#fff;background:var(--bg-card-dugigo);border-bottom:1px solid #e9ecef;border-bottom:1px solid var(--border-subtle);box-shadow:0 2px 8px #0000000d;box-shadow:var(--shadow-light-dugigo);padding:16px 24px;padding:var(--spacing-md) var(--spacing-lg)}.dugigo-header-title{color:#2a2829;color:var(--brand-text);font-size:1.125rem;font-size:var(--font-size-lg);font-weight:700;font-weight:var(--font-weight-bold);margin:0}@media (max-width:1024px){.dugigo-main-content{margin-left:200px;margin-left:var(--sidebar-width-tablet)}.dugigo-main-content-inner{padding:16px;padding:var(--spacing-md)}}@media (max-width:767px){.dugigo-main-content{margin-left:0;width:100%}.dugigo-main-content-inner{padding:8px;padding:var(--spacing-sm)}}.auth-loading-container{align-items:center;background:#f0ebe5;background:var(--bg-primary);display:flex;flex-direction:column;justify-content:center;min-height:100vh;padding:32px;padding:var(--spacing-xl)}.user-info-box{background:#fff;background:var(--bg-card);border:1px solid #e9ecef;border:1px solid var(--border-light);border-radius:16px;margin-bottom:24px;margin-bottom:var(--spacing-lg);padding:24px;padding:var(--spacing-lg)}.auth-link{color:#263a99;color:var(--primary);font-weight:500;font-weight:var(--font-weight-medium);text-decoration:none;transition:color .3s ease}.auth-link:hover{color:#1a2c6b;color:var(--primary-dark);text-decoration:underline}@media (max-width:768px){.auth-container{padding:16px;padding:var(--spacing-md)}.auth-paper{margin:16px;margin:var(--spacing-md);padding:32px;padding:var(--spacing-xl)}.auth-title{font-size:var(--font-size-md)}.auth-subtitle{font-size:.75rem;font-size:var(--font-size-xs)}}@media (max-width:480px){.auth-container{padding:8px;padding:var(--spacing-sm)}.auth-paper{margin:0;padding:24px;padding:var(--spacing-lg)}.header-box{margin-bottom:32px;margin-bottom:var(--spacing-xl)}.button-group,.input-group{margin-bottom:16px;margin-bottom:var(--spacing-md)}}.file-upload-wrapper{width:100%}.file-upload-area{background:#fff;background:var(--bg-elevated);border:3px dashed #e5e7eb;border:3px dashed var(--border-medium);border-radius:12px;cursor:pointer;padding:48px 24px;text-align:center;transition:all .3s ease}.file-upload-area.dragging,.file-upload-area:hover{background:#fff;background:var(--bg-card);border-color:#263a99;border-color:var(--primary)}.file-upload-area.dragging{transform:scale(1.02)}.file-upload-area.error{border-color:#ef5350;border-color:var(--error)}.file-upload-icon{font-size:48px;margin-bottom:16px}.file-upload-message{color:#6c757d;color:var(--text-secondary);font-size:1.1rem;margin:0}.file-upload-error{color:#ef5350;color:var(--error);font-size:.9rem;margin-top:8px}.file-info{background:#fff;background:var(--bg-card);border-left:4px solid #66bb6a;border-left:4px solid var(--success);border-radius:8px;margin-top:16px;padding:12px}.file-info p{color:#2a2829;color:var(--text-primary);margin:0}.season-update-container{min-height:100vh;padding:10px}.season-update-header{margin-bottom:30px}.season-update-header h1{color:#2a2829;color:var(--text-primary);font-size:2.2rem;font-weight:800;margin-bottom:8px}.season-update-header p{color:#6c757d;color:var(--text-secondary);font-size:1.1rem}.season-update-content{display:flex;flex-direction:column;gap:32px}.current-season-section,.season-apply-section,.season-change-section,.season-data-section{background:#fff;background:var(--bg-elevated);border:1px solid #e9ecef;border:1px solid var(--border-light);border-radius:16px;box-shadow:0 2px 8px #0000000d;padding:24px}.guides-wrapper{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr;margin-bottom:24px}@media (max-width:1024px){.guides-wrapper{grid-template-columns:1fr}}.usage-guide-container{background:linear-gradient(135deg,#e8f4ff,#d6ebff);border:2px solid #263a99;border:2px solid var(--primary);border-radius:12px;box-shadow:0 2px 8px #263a9926;padding:20px 24px}.usage-guide-header{align-items:center;display:flex;gap:12px;margin-bottom:20px}.usage-guide-icon{font-size:1.8rem;line-height:1}.usage-guide-title{color:#2a2829;color:var(--text-primary);font-size:1.1rem;font-weight:700;margin:0}.usage-guide-steps{display:flex;flex-direction:column;gap:0}.usage-step{background:#fffc;border-radius:8px;gap:16px;padding:14px 16px;position:relative}.usage-step,.usage-step-number{align-items:center;display:flex}.usage-step-number{background:#263a99;background:var(--primary);border-radius:50%;box-shadow:0 2px 6px #263a9940;color:#fff;flex-shrink:0;font-size:1rem;font-weight:700;height:32px;justify-content:center;min-width:32px}.usage-step-content{align-items:center;display:flex;flex:1 1;gap:10px}.usage-step-icon{font-size:1.3rem;line-height:1}.usage-step-text{color:#2a2829;color:var(--text-primary);font-size:.95rem;font-weight:600;line-height:1.4}.usage-step-connector{background:#263a99;background:var(--primary);height:12px;margin-left:31px;opacity:.4;width:2px}.upload-guide-container{background:linear-gradient(135deg,#fff9e6,#fff3d4);border:2px solid #ffa726;border:2px solid var(--warning);border-radius:12px;box-shadow:0 2px 8px #ffa72626;padding:20px 24px}.warning-notice-container{animation:pulseWarning 2s ease-in-out infinite;background:linear-gradient(135deg,#ffe8e8,#ffd4d4);border:2px solid #ef5350;border:2px solid var(--error);border-radius:12px;box-shadow:0 2px 8px #ef535033;margin-bottom:24px;padding:20px 24px}@keyframes pulseWarning{0%,to{box-shadow:0 2px 8px #ef535033}50%{box-shadow:0 4px 16px #ef535059}}.warning-notice-header{align-items:center;display:flex;gap:12px;margin-bottom:12px}.warning-notice-icon{animation:shake 3s ease-in-out infinite;font-size:1.8rem;line-height:1}@keyframes shake{0%,90%,to{transform:rotate(0deg)}92%,96%{transform:rotate(-10deg)}94%,98%{transform:rotate(10deg)}}.warning-notice-title{color:#ef5350;color:var(--error);font-size:1.2rem;font-weight:700;margin:0}.warning-notice-content{display:flex;flex-direction:column;gap:8px}.warning-notice-text{background:#fffc;border-left:4px solid #ef5350;border-left:4px solid var(--error);border-radius:8px;color:#2a2829;color:var(--text-primary);font-size:.95rem;line-height:1.6;margin:0;padding:12px}.warning-notice-text strong{color:#ef5350;color:var(--error);font-weight:700}.warning-notice-contact{background:#fff9;border-radius:6px;color:#6c757d;color:var(--text-secondary);font-size:.9rem;font-weight:600;margin:0;padding:10px 12px;text-align:center}.upload-guide-header{align-items:center;display:flex;gap:12px;margin-bottom:16px}.upload-guide-icon{font-size:1.8rem;line-height:1}.upload-guide-title{color:#2a2829;color:var(--text-primary);font-size:1.1rem;font-weight:700;margin:0}.upload-guide-list{display:flex;flex-direction:column;gap:12px;list-style:none;margin:0;padding:0}.upload-guide-item{align-items:flex-start;background:#ffffffb3;border-left:3px solid #ffa726;border-left:3px solid var(--warning);border-radius:8px;display:flex;gap:12px;padding:12px}.guide-number{align-items:center;background:#ffa726;background:var(--warning);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:.9rem;font-weight:700;height:24px;justify-content:center;min-width:24px}.guide-content{flex:1 1;font-size:.95rem;line-height:1.6}.guide-content,.guide-content strong{color:#2a2829;color:var(--text-primary)}.guide-content strong{font-weight:700}.guide-detail{color:#6c757d;color:var(--text-secondary);display:inline-block;font-size:.9rem;margin-top:4px}.guide-detail code{background:#ffa72626;border-radius:4px;color:#2a2829;color:var(--text-primary);font-family:Courier New,monospace;font-size:.85rem;font-weight:600;padding:2px 6px}.current-season-section h2,.season-apply-section h2,.season-change-section h2,.season-data-section h2{color:#2a2829;color:var(--text-primary);font-size:1.5rem;font-weight:700;margin-bottom:16px}.current-season-display{align-items:center;background:#fff;background:var(--bg-card);border:2px solid #263a99;border:2px solid var(--primary);border-radius:12px;display:flex;gap:16px;padding:16px}.season-label{color:#6c757d;color:var(--text-secondary);font-size:1.1rem;font-weight:600}.season-value{color:#263a99;color:var(--primary);font-size:1.5rem;font-weight:800}.section-description{color:#6c757d;color:var(--text-secondary);font-size:1rem;margin-bottom:16px}.season-data-header{align-items:center;background:#fff;background:var(--bg-card);border:1px solid #e9ecef;border:1px solid var(--border-light);border-radius:8px;display:flex;gap:16px;justify-content:space-between;margin-bottom:16px;padding:12px 16px}.season-data-header .header-left{flex:1 1}.season-data-header .header-right{align-items:center;display:flex;gap:12px}.save-status{align-items:center;display:flex;font-size:.9rem;font-weight:500;gap:8px}.save-status .status-saving{animation:pulse 1.5s ease-in-out infinite;color:#263a99;color:var(--primary)}.save-status .status-unsaved{color:#ffa726;color:var(--warning)}.save-status .status-saved{color:#66bb6a;color:var(--success)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.save-button{background:#263a99;background:var(--primary);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;padding:8px 16px;transition:all .3s ease;white-space:nowrap}.save-button:hover:not(:disabled){background:#1a2c6b;background:var(--primary-dark);box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.save-button:disabled{background:#dcd0be;background:var(--bg-secondary);color:#85929e;color:var(--text-disabled);cursor:not-allowed;opacity:.6}.reset-button{background:#fff;background:var(--bg-elevated);border:2px solid #ef5350;border:2px solid var(--error);border-radius:6px;color:#ef5350;color:var(--error);cursor:pointer;font-size:.9rem;font-weight:600;padding:8px 16px;transition:all .3s ease;white-space:nowrap}.reset-button:hover{background:#ef5350;background:var(--error);box-shadow:0 4px 12px #ef53504d;color:#fff;transform:translateY(-2px)}.apply-button{background:#263a99;background:var(--primary);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:600;padding:12px 24px;transition:all .3s ease}.apply-button:hover{background:#1a2c6b;background:var(--primary-dark);box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.action-buttons-wrapper{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px}.excel-download-button{align-items:center;background:#66bb6a;background:var(--success);border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-size:1rem;font-weight:600;gap:8px;padding:12px 24px;transition:all .3s ease}.excel-download-button:hover{background:#10b981;background:var(--success-light);box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.sync-button{align-items:center;background:#263a99;background:var(--primary);border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-size:1rem;font-weight:600;gap:8px;padding:12px 24px;transition:all .3s ease}.sync-button:hover{background:#1a2c6b;background:var(--primary-dark);box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.sync-modal-content{padding:16px}.sync-modal-message{color:#2a2829;color:var(--text-primary);font-size:1rem;line-height:1.6;margin-bottom:24px;text-align:center}.sync-modal-note{color:#6c757d;color:var(--text-secondary);font-size:.9rem;font-style:italic}.sync-modal-buttons{display:flex;gap:12px;justify-content:center}.sync-modal-cancel-button,.sync-modal-confirm-button{border:none;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:600;min-width:100px;padding:10px 24px;transition:all .3s ease}.sync-modal-cancel-button{background:#fff;background:var(--bg-card);border:1px solid #e5e7eb;border:1px solid var(--border-medium);color:#2a2829;color:var(--text-primary)}.sync-modal-cancel-button:hover:not(:disabled){background:#dcd0be;background:var(--bg-secondary)}.sync-modal-confirm-button{background:#263a99;background:var(--primary);color:#fff}.sync-modal-confirm-button:hover:not(:disabled){background:#1a2c6b;background:var(--primary-dark);box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.sync-modal-cancel-button:disabled,.sync-modal-confirm-button:disabled{cursor:not-allowed;opacity:.5}.progress-modal-content{padding:24px}.progress-steps{display:flex;flex-direction:column;gap:24px;margin-bottom:32px}.progress-step{align-items:center;display:flex;gap:16px;opacity:.4;transition:opacity .3s ease}.progress-step.active{opacity:1}.progress-step-indicator{align-items:center;background:#fff;background:var(--bg-card);border:2px solid #e5e7eb;border:2px solid var(--border-medium);border-radius:50%;display:flex;flex-shrink:0;height:48px;justify-content:center;transition:all .3s ease;width:48px}.progress-step.active .progress-step-indicator{background:#263a99;background:var(--primary);border-color:#263a99;border-color:var(--primary);color:#fff}.progress-step-number{color:#6c757d;color:var(--text-secondary);font-size:1.2rem;font-weight:700}.progress-step.active .progress-step-number{color:#fff}.progress-step-check{color:#fff;font-size:1.5rem}.progress-spinner{animation:spin 1s linear infinite;border:3px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:24px;width:24px}@keyframes spin{to{transform:rotate(1turn)}}.progress-step-label{color:#6c757d;color:var(--text-secondary);font-size:1.1rem;font-weight:600}.progress-step.active .progress-step-label{color:#2a2829;color:var(--text-primary)}.progress-info{background:#fff;background:var(--bg-card);border-radius:8px;padding:16px;text-align:center}.progress-message{color:#2a2829;color:var(--text-primary);font-size:1rem;line-height:1.6;margin:0}.progress-note{color:#6c757d;color:var(--text-secondary);font-size:.9rem;font-style:italic}.loading-modal-content{align-items:center;display:flex;flex-direction:column;gap:24px;padding:48px 24px}.loading-spinner-large{animation:spin 1s linear infinite;border:6px solid #fff;border-top-color:#263a99;border:6px solid var(--bg-card);border-radius:50%;border-top-color:var(--primary);height:64px;width:64px}.loading-message{color:#2a2829;color:var(--text-primary);font-size:1.1rem;font-weight:600;margin:0;text-align:center}.completion-modal-content{align-items:center;display:flex;flex-direction:column;gap:24px;padding:48px 24px}.completion-icon{align-items:center;animation:scaleIn .3s ease-out;background:#66bb6a;background:var(--success);border-radius:50%;color:#fff;display:flex;font-size:48px;height:80px;justify-content:center;width:80px}@keyframes scaleIn{0%{transform:scale(0)}to{transform:scale(1)}}.completion-message{color:#2a2829;color:var(--text-primary);font-size:1.1rem;font-weight:600;margin:0;text-align:center}.completion-confirm-button{background:#263a99;background:var(--primary);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:600;min-width:160px;padding:12px 32px;transition:all .3s ease}.completion-confirm-button:hover{background:#1a2c6b;background:var(--primary-dark);box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.editable-table-container{background:#fff;background:var(--bg-elevated);border:1px solid #e5e7eb;border:1px solid var(--border-medium);border-radius:8px;overflow:hidden}.editable-table-empty{color:#6c757d;color:var(--text-secondary);font-size:1rem;padding:32px;text-align:center}.editable-table-wrapper{max-height:600px;overflow-x:auto;overflow-y:auto}.editable-table{border-collapse:initial;border-spacing:0;font-size:.9rem;width:100%}.editable-table thead{background:#fff;background:var(--bg-card);position:-webkit-sticky;position:sticky;top:0;z-index:10}.editable-table-header,.row-number-header{background:#fff;background:var(--bg-card);border-bottom:2px solid #e5e7eb;border-bottom:2px solid var(--border-medium);color:#2a2829;color:var(--text-primary);font-weight:700;padding:12px 8px;text-align:left;white-space:nowrap}.row-number-header{width:50px;z-index:11}.row-number-cell,.row-number-header{background:#dcd0be;background:var(--bg-secondary);left:0;position:-webkit-sticky;position:sticky;text-align:center}.row-number-cell{border-right:1px solid #e5e7eb;border-right:1px solid var(--border-medium);color:#6c757d;color:var(--text-secondary);font-weight:600;padding:8px;z-index:5}.editable-table-cell,.row-number-cell{border-bottom:1px solid #e9ecef;border-bottom:1px solid var(--border-light)}.editable-table-cell{border-right:1px solid #e9ecef;border-right:1px solid var(--border-light);min-width:120px;padding:0}.editable-table-cell.invalid{background:#ef53501a}.editable-cell-input{background:#0000;border:none;color:#2a2829;color:var(--text-primary);font-family:inherit;font-size:.9rem;outline:none;padding:8px;width:100%}.editable-cell-input:focus{background:#fff;background:var(--bg-card);box-shadow:inset 0 0 0 2px #263a99;box-shadow:inset 0 0 0 2px var(--primary)}.editable-table-cell.invalid .editable-cell-input{color:#ef5350;color:var(--error)}.editable-table tbody tr.error-row{background:#ef535026}.editable-table tbody tr.error-row .row-number-cell{background:#ef535033;color:#ef5350;color:var(--error);font-weight:700}.editable-table tbody tr.error-row .editable-table-cell{background:#ef535026}.sheet-tabs-container{background:#dcd0be;background:var(--bg-secondary);border-top:1px solid #e5e7eb;border-top:1px solid var(--border-medium);display:flex;gap:4px;overflow-x:auto;padding:8px}.sheet-tab{background:#fff;background:var(--bg-card);border:none;border-radius:4px 4px 0 0;color:#6c757d;color:var(--text-secondary);cursor:pointer;font-size:.9rem;font-weight:500;padding:8px 16px;transition:all .2s ease;white-space:nowrap}.sheet-tab:hover{color:#2a2829;color:var(--text-primary)}.sheet-tab.active,.sheet-tab:hover{background:#fff;background:var(--bg-elevated)}.sheet-tab.active{border-bottom:3px solid #263a99;border-bottom:3px solid var(--primary);color:#263a99;color:var(--primary);font-weight:700}@media (max-width:768px){.season-update-header h1{font-size:1.8rem}.current-season-display{align-items:flex-start;flex-direction:column}.season-value{font-size:1.3rem}.file-upload-area{padding:32px 16px}}
/*# sourceMappingURL=main.44e43317.css.map*/