body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--soft-white);color:var(--text-primary);font-family:Noto Sans KR,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:var(--font-size-md);font-weight:var(--font-weight-normal);line-height:var(--line-height-normal)}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-track{background:var(--secondary-light-gray);border-radius:var(--border-radius-sm)}::-webkit-scrollbar-thumb{background:var(--primary-pastel-blue);border-radius:var(--border-radius-sm);-webkit-transition:background var(--transition-normal);transition:background var(--transition-normal)}::-webkit-scrollbar-thumb:hover{background:var(--accent-lavender)}h1,h2,h3,h4,h5,h6{color:var(--text-primary);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);margin-bottom:var(--spacing-md)}h1{font-size:var(--font-size-3xl)}h2{font-size:var(--font-size-2xl)}h3{font-size:var(--font-size-xl)}h4{font-size:var(--font-size-lg)}h5{font-size:var(--font-size-md)}h6{font-size:var(--font-size-sm)}p{color:var(--text-secondary);margin-bottom:var(--spacing-md)}a{color:var(--accent-lavender);text-decoration:none;transition:color var(--transition-normal)}a:hover{color:var(--primary-mint)}button{background:none;border:none;cursor:pointer;font-family:inherit}button:disabled{cursor:not-allowed;opacity:.6}input,select,textarea{border:none;font-family:inherit;font-size:inherit;outline:none}:focus-visible{outline:2px solid var(--accent-lavender);outline-offset:2px}::selection{background-color:var(--primary-pastel-blue);color:var(--text-primary)}.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}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.flex{display:flex}.flex-column{flex-direction:column}.flex-wrap{flex-wrap:wrap}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.align-center{align-items:center}.align-end{align-items:flex-end}.w-full{width:100%}.h-full{height:100%}.mb-0{margin-bottom:0}.mt-auto{margin-top:auto}@media (max-width:768px){html{font-size:14px}h1{font-size:var(--font-size-2xl)}h2{font-size:var(--font-size-xl)}h3{font-size:var(--font-size-lg)}h4{font-size:var(--font-size-md)}h5{font-size:var(--font-size-sm)}h6{font-size:var(--font-size-xs)}a,button,input,select,textarea{min-height:44px;min-width:44px}@media (hover:none){a:hover{color:var(--accent-lavender)}::-webkit-scrollbar-thumb:hover{background:var(--primary-pastel-blue)}}}@media (max-width:480px){html{font-size:13px}body{font-size:var(--font-size-sm)}h1,h2,h3,h4,h5,h6,p{margin-bottom:var(--spacing-sm)}}.app{background-color:var(--soft-white);display:flex;flex-direction:column;min-height:100vh}.app-container,.app-content{display:flex;flex:1 1;padding-top:var(--header-height)}.main-content{background-color:var(--soft-white);flex:1 1;min-height:calc(100vh - var(--header-height));overflow-x:auto;padding:var(--spacing-lg);transition:margin-left var(--transition-normal),width var(--transition-normal)}.main-content.sidebar-open{margin-left:320px;width:calc(100vw - var(--sidebar-width));width:calc(100vw - 320px)}.main-content.sidebar-closed{margin-left:64px;width:calc(100vw - var(--sidebar-collapsed-width));width:calc(100vw - 64px)}@media (max-width:768px){.main-content.sidebar-closed,.main-content.sidebar-open{margin-left:0;width:100vw}.main-content{padding:var(--spacing-sm)}}@media (max-width:480px){.main-content{padding:var(--spacing-xs)}}@media (min-width:769px) and (max-width:1024px){.main-content{padding:var(--spacing-md)}.main-content.sidebar-open{margin-left:250px;width:calc(100vw - 250px)}}.app-loading{background:linear-gradient(135deg,#667eea,#764ba2);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;justify-content:center;min-height:100vh}.app-loading,.loading-spinner{align-items:center;display:flex}.loading-spinner{flex-direction:column;gap:20px}.spinner{animation:spin 1s linear infinite;border:4px solid #fff3;border-radius:50%;border-top-color:#fff;height:48px;width:48px}.loading-spinner p{color:#fff;font-size:16px;font-weight:500;margin:0}:root{--primary-pastel-blue:#bfdff4;--primary-mint:#a3e7d4;--primary-50:#ebf8ff;--primary-500:#3b82f6;--primary-600:#2563eb;--secondary-light-gray:#f5f5f5;--secondary-light-purple:#e4d9ff;--accent-lavender:#b79df3;--accent-mint:#94d5c5;--white:#fff;--soft-white:#fafbfc;--light-border:#e8ecef;--border-color:#e5e7eb;--text-primary:#2c3e50;--text-secondary:#5a6c7d;--text-muted:#8a94a6;--text-white:#fff;--gray-100:#f3f4f6;--gray-600:#4b5563;--success:#4caf50;--success-50:#f0fdf4;--success-700:#15803d;--warning:#ffc107;--error:#f44336;--error-50:#fef2f2;--error-600:#dc2626;--info:#2196f3;--shadow-light:0 2px 8px #2f80ed14;--shadow-medium:0 4px 16px #2f80ed1f;--shadow-heavy:0 8px 24px #2f80ed29;--border-radius-sm:6px;--border-radius-md:12px;--border-radius-lg:16px;--border-radius-xl:24px;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px;--spacing-2xl:48px;--spacing-3xl:64px;--font-size-md:16px;--font-size-xl:20px;--font-size-2xl:24px;--font-size-3xl:32px;--font-weight-light:300;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--line-height-tight:1.25;--line-height-normal:1.5;--line-height-relaxed:1.75;--transition-fast:0.15s ease-in-out;--transition-normal:0.25s ease-in-out;--transition-slow:0.4s ease-in-out;--header-height:64px;--sidebar-width:320px;--sidebar-collapsed-width:64px;--z-index-dropdown:1000;--z-index-sticky:1020;--z-index-fixed:1030;--z-index-modal-backdrop:1040;--z-index-modal:1050;--z-index-popover:1060;--z-index-tooltip:1070}.page-header{align-items:flex-end;border-bottom:1px solid var(--light-border);margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-lg)}.page-header .header-content h1{color:var(--text-primary);font-size:var(--font-size-3xl);margin-bottom:var(--spacing-xs)}.page-header .header-content p{color:var(--text-secondary);font-size:var(--font-size-md);margin:0}.page-header .header-actions{align-items:center;display:flex;flex-direction:row;flex-shrink:0;flex-wrap:nowrap;gap:var(--spacing-md)}.staff-manager .header-actions .btn-danger{background:linear-gradient(135deg,#ef4444,#dc2626);border:none;box-shadow:0 4px 14px 0 #ef444440;color:#fff}.staff-manager .header-actions .btn-danger:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);box-shadow:0 6px 20px 0 #ef444459;transform:translateY(-2px)}.staff-manager .header-actions .btn-success{background:linear-gradient(135deg,#10b981,#059669);border:none;box-shadow:0 4px 14px 0 #10b98140;color:#fff}.staff-manager .header-actions .btn-success:hover{background:linear-gradient(135deg,#059669,#047857);box-shadow:0 6px 20px 0 #10b98159;transform:translateY(-2px)}.staff-manager .header-actions .btn-primary{background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;box-shadow:0 4px 14px 0 #6366f140;color:#fff}.staff-manager .header-actions .btn-primary:hover{background:linear-gradient(135deg,#5b21b6,#7c3aed);box-shadow:0 6px 20px 0 #6366f159;transform:translateY(-2px)}@media (max-width:768px){.page-header{align-items:stretch;flex-direction:column;gap:var(--spacing-md)}.page-header .header-actions{justify-content:flex-end}.page-header .header-content h1{font-size:var(--font-size-2xl)}}.staff-grid{grid-gap:20px;gap:20px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));margin-top:20px}.staff-card{transition:transform .2s ease,box-shadow .2s ease}.staff-card:hover{box-shadow:0 8px 25px #0000001a;transform:translateY(-2px)}.staff-info{align-items:flex-start;gap:16px}.staff-avatar{background:var(--primary-50);color:var(--primary-600);flex-shrink:0;height:48px;width:48px}.staff-details{flex:1 1;min-width:0}.staff-name{font-size:18px;font-weight:600;margin:0 0 4px}.staff-position{color:var(--text-muted);font-size:14px;margin:0 0 12px}.staff-contact{margin-bottom:12px}.staff-contact p{color:var(--text-secondary);font-size:14px;margin:2px 0}.night-shift-info{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;gap:8px;justify-content:space-between;margin-bottom:12px;padding:8px 12px}.night-shift-label{color:var(--text-muted);font-size:12px;font-weight:500}.night-shift-count{background:#dbeafe;border-radius:12px;color:var(--text-primary);font-size:13px;font-weight:600;padding:2px 8px}.edit-night-btn{background:none;border:none;border-radius:4px;color:var(--text-muted);padding:4px}.edit-night-btn:hover:not(:disabled){background:var(--primary-50);color:var(--primary-600)}.edit-night-btn:disabled{color:var(--text-muted);opacity:.4}.staff-meta{align-items:center;display:flex;font-size:12px;justify-content:space-between}.hire-date{color:var(--text-muted)}.status{border-radius:12px;font-weight:500;padding:4px 8px}.status.active{background:var(--success-50);color:var(--success-700)}.status.inactive{background:var(--gray-100);color:var(--gray-600)}.staff-actions{right:0;top:0}.delete-btn{background:none;border:none;border-radius:6px;color:var(--text-muted);padding:8px;transition:all .2s ease}.delete-btn:hover{background:var(--error-50);color:var(--error-600)}.modal-content{box-shadow:0 20px 25px -5px #0000001a;max-width:480px;overflow:hidden}.modal-header h2{color:var(--text-primary);font-size:20px;font-weight:600;margin:0}.modal-close{border-radius:6px;padding:8px}.modal-close:hover{background:var(--gray-100)}.modal-body{padding:0 24px}.modal-footer{padding:20px 24px 24px}.edit-staff-info{border-bottom:1px solid var(--light-border);margin-bottom:24px;padding-bottom:16px;text-align:center}.edit-staff-info h3{color:var(--text-primary);font-size:18px;font-weight:600;margin:0 0 8px}.edit-staff-info p{color:var(--text-muted);font-size:14px;margin:0}.form-group{margin-bottom:20px}.form-group label{margin-bottom:8px}.form-input{border:1px solid var(--light-border);border-radius:8px;box-sizing:border-box;font-size:14px;padding:12px 16px;transition:border-color .2s ease;width:100%}.form-input:focus{box-shadow:0 0 0 3px var(--primary-50)}.form-help{color:var(--text-muted);font-size:12px;margin:4px 0 0}.range-preview{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin-top:16px;padding:16px}.preview-box{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.preview-label{color:var(--text-muted);font-size:14px;font-weight:500}.preview-value{background:#dbeafe;border-radius:12px;color:var(--text-primary);font-size:16px;font-weight:600;padding:4px 12px}.error-message{color:var(--error-600);font-size:12px;font-weight:500;margin:0}.shift-types-section{background:#f1f5f9;border:1px solid #cbd5e1;border-radius:8px;margin-bottom:12px;padding:8px 12px}.shift-types-label{color:var(--text-muted);font-size:12px;font-weight:500;margin-bottom:6px}.shift-types-checkboxes{flex-wrap:wrap;gap:8px}.shift-checkbox{align-items:center;display:flex}.shift-checkbox input[type=checkbox]{height:0;opacity:0;position:absolute;width:0}.shift-checkbox-custom{border:2px solid #e2e8f0;border-radius:6px;color:#64748b;display:flex;font-size:12px;font-weight:600;height:28px;-webkit-user-select:none;user-select:none;width:28px}.shift-checkbox input[type=checkbox]:checked+.shift-checkbox-custom{background:var(--shift-color);border-color:var(--shift-color)}.shift-checkbox:hover .shift-checkbox-custom{border-color:var(--shift-color);transform:translateY(-1px)}.shift-checkbox input[type=checkbox]:checked:hover+.shift-checkbox-custom{filter:brightness(1.1)}.scheduling-mode-section{background:#fefce8;border:1px solid #fbbf24;border-radius:8px;margin-bottom:12px;padding:10px 12px}.scheduling-mode-label{color:var(--text-muted);display:block;font-size:12px;font-weight:500;margin-bottom:8px}.scheduling-mode-options{display:flex;gap:12px;margin-bottom:6px}.scheduling-mode-option{align-items:center;cursor:pointer;display:flex;gap:6px}.scheduling-mode-option input[type=radio]{accent-color:#fbbf24;height:16px;width:16px}.scheduling-mode-text{color:var(--text-primary);font-size:13px;font-weight:500;-webkit-user-select:none;user-select:none}.scheduling-mode-description{margin-top:4px}.mode-desc{color:#92400e;font-size:11px;font-style:italic}.scheduling-mode-option input[type=radio]:disabled,.scheduling-mode-option input[type=radio]:disabled+.scheduling-mode-text{cursor:not-allowed;opacity:.5}.schedule-creator{padding:20px}.schedule-form{padding:15px}.form-grid{grid-gap:20px;gap:20px}.form-section{background:var(--background-secondary);border:1px solid var(--border-color);border-radius:8px;padding:15px}.form-section h3{color:var(--text-primary);font-size:18px;font-weight:600;margin:0 0 15px}.form-section h4{font-size:16px;margin:0 0 12px}.form-section h4,.form-section h5{color:var(--text-primary);font-weight:500}.form-section h5{font-size:14px;margin:0 0 8px}.day-type-section{background:var(--background-primary);border:1px solid var(--border-color);border-radius:8px;margin-bottom:15px;padding:15px}.day-type-title{border-bottom:2px solid var(--primary-100);color:var(--text-primary);font-size:16px;font-weight:600;margin:0 0 15px;padding-bottom:8px}.day-type-section:last-child{margin-bottom:0}.form-row{grid-gap:15px;gap:15px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:15px}.form-group{gap:6px}.form-group input,.form-group select{border:1px solid var(--border-color);border-radius:6px;font-size:14px;padding:10px 14px;transition:border-color .2s ease,box-shadow .2s ease}.form-group input:focus,.form-group select:focus{border-color:var(--primary-500);box-shadow:0 0 0 3px var(--primary-50)}.form-group input[readonly]{background:var(--gray-50);color:var(--text-muted)}.shift-settings{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.shift-group{background:#fff;border:1px solid var(--border-color);border-radius:6px;padding:15px;transition:box-shadow .2s ease}.shift-group:hover{box-shadow:0 2px 8px #0000001a}.form-actions{border-top:1px solid var(--border-color);display:flex;justify-content:center;margin-top:15px;padding:15px 0}.result-summary{padding:20px}.result-summary p{color:var(--text-primary);margin:8px 0}.schedule-viewer{padding:20px}.schedule-controls{margin-bottom:20px}.schedule-selector{padding:20px}.month-selector{align-items:center;display:flex;flex-wrap:wrap;gap:15px}.selector-group label{color:var(--text-primary);font-size:14px;font-weight:500}.selector-group select{background:#fff;border:1px solid var(--border-color);border-radius:6px;font-size:14px;min-width:120px;padding:10px 12px}.schedule-list{grid-gap:15px;display:grid;gap:15px;padding:20px}.schedule-item{background:var(--background-secondary);border:1px solid var(--border-color);border-radius:8px;padding:20px;transition:background-color .2s ease}.schedule-item:hover{background:var(--primary-50)}.schedule-info h4{color:var(--text-primary);font-size:16px;font-weight:600;margin:0 0 8px}.schedule-info p{color:var(--text-secondary);font-size:14px;margin:4px 0}.schedule-info small{color:var(--text-muted);font-size:12px}.schedule-actions{display:flex;gap:10px}.schedule-table-container{padding:20px}.table-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:15px}.table-info{color:var(--text-muted);display:flex;font-size:14px;gap:20px}.schedule-table{overflow-x:auto}.schedule-table table{background:#fff;border-collapse:collapse;border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow:hidden;width:100%}.schedule-table td,.schedule-table th{border-bottom:1px solid var(--border-color);padding:12px 16px;text-align:left}.schedule-table th{background:var(--gray-50);color:var(--text-primary);font-size:14px;font-weight:600}.schedule-table tr.weekend{background:var(--error-50)}.schedule-table tr:hover{background:var(--primary-25)}.shift-staff{align-items:center;display:flex;flex-wrap:wrap;gap:6px;min-height:24px}.staff-tag{border-radius:4px;display:inline-block;font-size:12px;font-weight:500;padding:4px 8px;white-space:nowrap}.staff-tag.day{background:var(--primary-100);color:var(--primary-700)}.staff-tag.evening{background:var(--warning-100);color:var(--warning-700)}.staff-tag.night{background:var(--gray-200);color:var(--gray-700)}.no-staff{color:var(--text-muted);font-size:12px;font-style:italic}@media (max-width:768px){.form-row{grid-template-columns:1fr}.month-selector{align-items:stretch;flex-direction:column}.schedule-item{align-items:flex-start;flex-direction:column;gap:15px}.schedule-actions{align-self:stretch;justify-content:flex-end}.table-header{align-items:flex-start;flex-direction:column;gap:10px}.table-info{flex-direction:column;gap:5px}.schedule-table{font-size:12px}.schedule-table td,.schedule-table th{padding:8px 12px}}.header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,var(--primary-pastel-blue) 0,var(--primary-mint) 100%);box-shadow:var(--shadow-medium);height:var(--header-height);justify-content:space-between;left:0;padding:0 var(--spacing-lg);position:fixed;right:0;top:0;z-index:var(--z-index-fixed)}.header,.header-left{align-items:center;display:flex}.header-left{gap:var(--spacing-lg)}.menu-button{align-items:center;background:#fff3;border:1px solid #ffffff4d;border-radius:var(--border-radius-md);color:var(--text-white);display:flex;height:40px;justify-content:center;transition:all var(--transition-normal);width:40px}.menu-button:hover{background:#ffffff4d;transform:translateY(-1px)}.menu-button:active{transform:translateY(0)}.logo-section{gap:var(--spacing-sm)}.logo-icon,.logo-section{align-items:center;display:flex}.logo-icon{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:1px solid #ffffff4d;border-radius:var(--border-radius-md);height:40px;justify-content:center;width:40px}.logo-text{display:flex;flex-direction:column}.logo-title{color:var(--text-white);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);line-height:1.2;margin:0}.logo-subtitle{color:#fffc;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);margin:0}.header-right{gap:var(--spacing-lg)}.header-right,.user-info{align-items:center;display:flex}.user-info{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff26;border:1px solid #fff3;border-radius:var(--border-radius-lg);cursor:pointer;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);transition:all var(--transition-normal)}.user-info:hover{background:#ffffff40;border-color:#ffffff4d}.user-info-container{align-items:center;display:flex;gap:var(--spacing-sm);position:relative}.user-avatar{align-items:center;background:#fff3;border-radius:50%;color:var(--text-white);display:flex;height:32px;justify-content:center;overflow:hidden;width:32px}.user-avatar-image{border-radius:50%;height:100%;object-fit:cover;width:100%}.user-details{display:flex;flex-direction:column}.user-name{color:var(--text-white);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);line-height:1.2}.user-role{color:#fffc;font-size:var(--font-size-xs);font-weight:var(--font-weight-normal)}.dropdown-arrow{color:#fffc;transition:transform var(--transition-normal)}.dropdown-arrow.open{transform:rotate(180deg)}.user-dropdown{animation:dropdownFadeIn .2s ease-out;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffffff2;border:1px solid #fff3;border-radius:var(--border-radius-lg);box-shadow:0 20px 40px #00000026;min-width:250px;overflow:hidden;position:absolute;right:0;top:calc(100% + 8px);z-index:1000}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.user-dropdown-item{align-items:center;background:#0000;border:none;color:#2d3748;cursor:pointer;display:flex;font-size:14px;gap:12px;padding:12px 16px;text-align:left;transition:background-color var(--transition-normal);width:100%}.user-dropdown-item:hover{background:#667eea1a}.user-dropdown-item.logout-item{color:#e53e3e}.user-dropdown-item.logout-item:hover{background:#e53e3e1a}.user-info-full{align-items:flex-start;cursor:default;flex-direction:column;gap:4px}.user-info-full:hover{background:#0000}.user-email{color:#4a5568;font-size:13px;font-weight:500}.user-team{background:#667eea1a;border-radius:12px;color:#718096;font-size:12px;padding:2px 8px}.dropdown-divider{background:#0000001a;border:none;height:1px;margin:0}.notification-button{align-items:center;background:#fff3;border:1px solid #ffffff4d;border-radius:var(--border-radius-md);color:var(--text-white);display:flex;height:40px;justify-content:center;position:relative;transition:all var(--transition-normal);width:40px}.notification-button:hover{background:#ffffff4d;transform:translateY(-1px)}.notification-badge{align-items:center;background:var(--error);border:2px solid #ffffff4d;border-radius:50%;color:var(--text-white);display:flex;font-size:10px;font-weight:var(--font-weight-bold);height:18px;justify-content:center;position:absolute;right:-2px;top:-2px;width:18px}@media (max-width:768px){.header{padding:0 var(--spacing-md)}.logo-text,.user-details{display:none}.user-info{padding:var(--spacing-sm)}}@media (max-width:480px){.header{padding:0 var(--spacing-sm)}.header-left,.header-right{gap:var(--spacing-md)}}.sidebar{background:var(--white);border-right:1px solid var(--light-border);box-shadow:var(--shadow-medium);display:flex;flex-direction:column;height:calc(100vh - var(--header-height));left:0;position:fixed;top:var(--header-height);transition:width var(--transition-normal);z-index:var(--z-index-sticky)}.sidebar-open{width:var(--sidebar-width)}.sidebar-closed{width:var(--sidebar-collapsed-width)}.sidebar-nav{flex:1 1;overflow-x:hidden;overflow-y:auto;padding:var(--spacing-lg) 0}.nav-list{list-style:none;margin:0;padding:0}.nav-item{margin-bottom:var(--spacing-xs)}.nav-link{align-items:center;border-radius:0 var(--border-radius-lg) var(--border-radius-lg) 0;color:var(--text-secondary);display:flex;margin-right:var(--spacing-md);min-height:56px;padding:var(--spacing-md) var(--spacing-lg);position:relative;text-decoration:none;transition:all var(--transition-normal)}.nav-link:hover{background:linear-gradient(135deg,var(--secondary-light-purple) 0,var(--primary-pastel-blue) 100%);color:var(--text-primary);transform:translateX(4px)}.nav-link.active{background:linear-gradient(135deg,var(--accent-lavender) 0,var(--accent-mint) 100%);font-weight:var(--font-weight-semibold)}.nav-link.active,.nav-link.active .nav-icon{color:var(--text-white)}.nav-icon{align-items:center;color:var(--text-muted);display:flex;justify-content:center;margin-right:var(--spacing-md);min-width:24px;transition:color var(--transition-normal)}.nav-link:hover .nav-icon{color:var(--accent-lavender)}.nav-content{display:flex;flex:1 1;flex-direction:column;min-width:0;overflow:hidden}.nav-label{font-size:var(--font-size-md);font-weight:var(--font-weight-medium);margin-bottom:var(--spacing-xs)}.nav-description,.nav-label{line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-description{color:var(--text-muted);font-size:var(--font-size-xs);opacity:.8}.nav-link:hover .nav-description{color:var(--text-secondary)}.nav-link.active .nav-description{color:#fffc}.active-indicator{animation:slideIn .3s ease-out;background:var(--accent-lavender);border-radius:2px 0 0 2px;height:24px;position:absolute;right:0;top:50%;transform:translateY(-50%);width:4px}.sidebar-footer{background:var(--secondary-light-gray);border-top:1px solid var(--light-border);padding:var(--spacing-lg)}.footer-content{display:flex;flex-direction:column;gap:var(--spacing-md)}.version-info{align-items:center;display:flex;justify-content:space-between}.version-label{color:var(--text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.version-number{background:var(--primary-pastel-blue);border-radius:var(--border-radius-sm);color:var(--text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);padding:2px 6px}.support-info{align-items:center;color:var(--text-muted);cursor:pointer;display:flex;font-size:var(--font-size-xs);gap:var(--spacing-sm);transition:color var(--transition-normal)}.support-info:hover{color:var(--accent-lavender)}.sidebar-closed .nav-link{justify-content:center;margin-right:0;padding:var(--spacing-md)}.sidebar-closed .nav-icon{margin-right:0}.sidebar-closed .nav-content,.sidebar-closed .sidebar-footer{display:none}@media (max-width:768px){.sidebar{transform:translateX(-100%);transition:transform var(--transition-normal)}.sidebar-open{transform:translateX(0);width:var(--sidebar-width)}.sidebar-closed{transform:translateX(-100%);width:var(--sidebar-width)}}.sidebar-nav::-webkit-scrollbar{width:4px}.sidebar-nav::-webkit-scrollbar-track{background:#0000}.sidebar-nav::-webkit-scrollbar-thumb{background:var(--primary-pastel-blue);border-radius:2px}.sidebar-nav::-webkit-scrollbar-thumb:hover{background:var(--accent-lavender)}.btn{align-items:center;border-radius:var(--border-radius-md);display:inline-flex;font-family:inherit;font-weight:var(--font-weight-medium);gap:var(--spacing-sm);justify-content:center;overflow:hidden;position:relative;text-decoration:none;transition:all var(--transition-normal);-webkit-user-select:none;user-select:none;white-space:nowrap}.btn:focus-visible{outline:2px solid var(--accent-lavender);outline-offset:2px}.btn-small{font-size:var(--font-size-sm);height:32px;padding:0 var(--spacing-md)}.btn-medium{font-size:var(--font-size-md);height:40px;padding:0 var(--spacing-lg)}.btn-large{font-size:var(--font-size-lg);height:48px;padding:0 var(--spacing-xl)}.btn-primary{background:linear-gradient(135deg,var(--accent-lavender) 0,var(--accent-mint) 100%);box-shadow:var(--shadow-light);color:var(--text-white)}.btn-primary:hover{box-shadow:var(--shadow-medium);transform:translateY(-2px)}.btn-primary:active{box-shadow:var(--shadow-light);transform:translateY(0)}.btn-secondary{background:var(--white);border:2px solid var(--accent-lavender);color:var(--accent-lavender)}.btn-secondary:hover{background:var(--accent-lavender);color:var(--text-white);transform:translateY(-1px)}.btn-outline{background:#0000;border:1px solid var(--accent-lavender);color:var(--accent-lavender)}.btn-outline:hover{background:var(--accent-lavender);color:var(--text-white)}.btn-ghost{background:#0000;color:var(--text-secondary)}.btn-ghost:hover{background:var(--secondary-light-gray);color:var(--text-primary)}.btn-success{background:linear-gradient(135deg,var(--success) 0,var(--primary-mint) 100%);color:var(--text-white)}.btn-success:hover{box-shadow:var(--shadow-medium);transform:translateY(-1px)}.btn-warning{background:linear-gradient(135deg,var(--warning) 0,#ffd54f 100%);color:var(--text-primary)}.btn-warning:hover{box-shadow:var(--shadow-medium);transform:translateY(-1px)}.btn-danger{background:linear-gradient(135deg,var(--error) 0,#ff7043 100%);color:var(--text-white)}.btn-danger:hover{box-shadow:var(--shadow-medium);transform:translateY(-1px)}.btn-dark{background:#1a1a1a!important;border:2px solid #333!important;color:#fff!important}.btn-dark:hover{background:#000!important;box-shadow:0 4px 12px #0000004d!important;color:#fff!important;transform:translateY(-1px)}.btn-disabled{box-shadow:none!important;cursor:not-allowed;opacity:.6;transform:none!important}.btn-icon{align-items:center;display:flex;justify-content:center}.btn-icon-left{margin-right:-2px}.btn-icon-right{margin-left:-2px}.btn-text{align-items:center;display:flex}.btn:before{background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.btn:hover:before{left:100%}.btn-disabled:before,.btn-loading:before{display:none}@media (hover:none) and (pointer:coarse){.btn:hover{box-shadow:none;transform:none}.btn:active{transform:scale(.95);transition:transform .1s ease}.btn:before{display:none}}@media (max-width:768px){.btn{min-height:44px;min-width:44px;padding:var(--spacing-sm) var(--spacing-md)}.btn-large{height:48px;padding:0 var(--spacing-lg)}.btn-large,.btn-medium{font-size:var(--font-size-md)}.btn-medium{height:44px;padding:0 var(--spacing-md)}.btn-small{font-size:var(--font-size-sm);height:40px;padding:0 var(--spacing-sm)}.btn+.btn{margin-left:var(--spacing-sm)}.btn-full-mobile{width:100%}}@media (max-width:480px){.btn{font-weight:var(--font-weight-semibold)}.btn-large{font-size:var(--font-size-md);height:46px}.btn-medium{font-size:var(--font-size-sm);height:42px}.btn-small{font-size:var(--font-size-xs);height:38px}.btn{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn-icon-only{padding:0;width:44px}}@media (hover:none){.btn{-webkit-tap-highlight-color:rgba(0,0,0,.1);touch-action:manipulation}.btn:active{background-filter:brightness(.9)}.btn:focus-visible{outline:3px solid var(--accent-lavender);outline-offset:1px}}.card{background:var(--white);border:1px solid var(--light-border);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-light);overflow:hidden;transition:all var(--transition-normal)}.card-gradient{background:linear-gradient(135deg,var(--primary-pastel-blue) 0,var(--primary-mint) 100%);border:none}.card-gradient,.card-gradient .card-title{color:var(--text-white)}.card-gradient .card-subtitle{color:#fffc}.card-outlined{border:2px solid var(--accent-lavender);box-shadow:none}.card-subtle{background:var(--secondary-light-gray);border:none;box-shadow:none}.card-padding-small .card-content,.card-padding-small .card-header{padding:var(--spacing-md)}.card-padding-default .card-content,.card-padding-default .card-header{padding:var(--spacing-lg)}.card-padding-large .card-content,.card-padding-large .card-header{padding:var(--spacing-xl)}.card-header{align-items:flex-start;border-bottom:1px solid var(--light-border);margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md)}.card-gradient .card-header{border-bottom-color:#fff3}.card-header-content{flex:1 1;min-width:0}.card-title{color:var(--text-primary);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);margin:0 0 var(--spacing-xs) 0}.card-subtitle{color:var(--text-muted);font-size:var(--font-size-sm);line-height:var(--line-height-normal);margin:0}.card-header-actions{align-items:center;display:flex;gap:var(--spacing-sm);margin-left:var(--spacing-md)}.card-hover:hover{box-shadow:var(--shadow-medium);transform:translateY(-2px)}.card-clickable{cursor:pointer}.card-clickable:hover{box-shadow:var(--shadow-medium);transform:translateY(-1px)}.card-clickable:active{box-shadow:var(--shadow-light);transform:translateY(0)}.card:before{background:linear-gradient(90deg,#0000,#ffffff1a,#0000);content:"";height:100%;left:-100%;pointer-events:none;position:absolute;top:0;transition:left .5s;width:100%;z-index:1}.card:hover:before{left:100%}.card-success{border-left:4px solid var(--success)}.card-warning{border-left:4px solid var(--warning)}.card-error{border-left:4px solid var(--error)}.card-info{border-left:4px solid var(--info)}.card-grid{display:flex;flex-direction:column;height:100%}.card-grid .card-content{flex:1 1}@media (max-width:768px){.card-header{align-items:stretch;flex-direction:column;gap:var(--spacing-md)}.card-header-actions{justify-content:flex-end;margin-left:0}.card-padding-large .card-content,.card-padding-large .card-header{padding:var(--spacing-lg)}.card-padding-default .card-content,.card-padding-default .card-header{padding:var(--spacing-md)}}.landing-page{background:linear-gradient(135deg,var(--secondary-light-gray) 0,var(--white) 100%);padding-top:var(--spacing-xl)}.hero-section{margin:0 auto;max-width:1200px;padding:var(--spacing-3xl) var(--spacing-lg);text-align:center}.hero-content{margin:0 auto;max-width:800px}.hero-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,var(--primary-deep-blue) 0,var(--accent-lavender) 100%);-webkit-background-clip:text;background-clip:text;color:var(--primary-deep-blue);font-size:3.5rem;font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-md)}.hero-subtitle{color:var(--text-secondary);font-size:var(--font-size-xl);font-weight:var(--font-weight-medium);margin-bottom:var(--spacing-lg)}.hero-description{color:var(--text-secondary);font-size:var(--font-size-lg);line-height:var(--line-height-relaxed);margin-bottom:var(--spacing-2xl)}.features-section{margin:0 auto;max-width:1200px;padding:var(--spacing-3xl) var(--spacing-lg)}.section-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-2xl);text-align:center}.features-grid{grid-gap:var(--spacing-md);display:grid;gap:var(--spacing-md);grid-template-columns:repeat(4,1fr)}.feature-card{background:var(--white);border:1px solid var(--light-border);border-radius:var(--border-radius-lg);display:flex;flex-direction:column;height:100%;justify-content:space-between;padding:var(--spacing-md);text-align:center;transition:all var(--transition-normal)}.feature-card:hover{box-shadow:var(--shadow-large);transform:translateY(-4px)}.feature-content{align-items:center;display:flex;flex-direction:column;flex-grow:1}.feature-icon{font-size:2.2rem}.feature-icon,.feature-title{margin-bottom:var(--spacing-sm)}.feature-title{color:var(--text-primary);font-size:var(--font-size-md);font-weight:var(--font-weight-bold)}.feature-description{color:var(--text-secondary);font-size:var(--font-size-xs);line-height:var(--line-height-relaxed);margin-bottom:var(--spacing-sm)}.landing-footer{background:linear-gradient(135deg,#f8fafc,#e2e8f0);border-top:1px solid var(--light-border);color:var(--text-primary);margin-top:var(--spacing-3xl);padding:var(--spacing-3xl) var(--spacing-lg) var(--spacing-xl);position:relative;width:100%;z-index:1}.footer-content{grid-gap:var(--spacing-2xl);display:grid;gap:var(--spacing-2xl);grid-template-columns:1fr 1fr;margin:0 auto;margin-bottom:var(--spacing-lg);max-width:1200px}.footer-section{display:flex;flex-direction:column}.footer-title{color:var(--text-primary);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-md)}.footer-info{color:var(--text-secondary);font-size:var(--font-size-sm);line-height:var(--line-height-relaxed);margin:0}.footer-links{display:flex;flex-direction:column;gap:10px;list-style:none;margin:0;padding:0}.footer-link{background:none;border:none;color:var(--primary-deep-blue);cursor:pointer;font-family:inherit;font-size:var(--font-size-sm);padding:0;text-align:left;text-decoration:none;transition:color var(--transition-normal)}.footer-link:hover{color:var(--accent-lavender);text-decoration:underline}.footer-bottom{border-top:1px solid var(--light-border);margin:0 auto;max-width:1200px;padding-top:var(--spacing-md);text-align:center}.footer-copyright{color:var(--text-muted);font-size:var(--font-size-xs);margin:0}@media (max-width:1200px){.features-grid{gap:var(--spacing-xl);grid-template-columns:repeat(2,1fr)}.feature-card{padding:var(--spacing-md)}.footer-content{gap:var(--spacing-lg);grid-template-columns:1fr}}@media (max-width:992px){.features-grid{gap:var(--spacing-lg);grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.landing-page{padding-top:var(--spacing-lg)}.hero-section{padding:var(--spacing-2xl) var(--spacing-md)}.hero-title{font-size:2.5rem}.hero-subtitle{font-size:var(--font-size-lg)}.hero-description{font-size:var(--font-size-md)}.features-section{padding:var(--spacing-2xl) var(--spacing-md)}.features-grid{gap:var(--spacing-lg);grid-template-columns:1fr}.feature-card{padding:var(--spacing-md)}.landing-footer{padding:var(--spacing-2xl) var(--spacing-md) var(--spacing-lg)}}@media (max-width:480px){.hero-title{font-size:2rem}.feature-icon{font-size:1.8rem}.feature-title{font-size:var(--font-size-sm)}.feature-card{padding:var(--spacing-sm)}.footer-title{color:var(--text-primary);font-size:var(--font-size-md)}.footer-info{color:var(--text-secondary)}.footer-info,.footer-link{font-size:var(--font-size-xs)}.footer-link{color:var(--primary-deep-blue)}}.schedule-creator{font-family:Noto Sans KR,sans-serif;margin:0 auto;max-width:1200px;padding:var(--spacing-lg)}.schedule-creator-steps{background:var(--white);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-light);margin-bottom:var(--spacing-xl);padding:var(--spacing-lg)}.steps-container{align-items:center;display:flex;gap:var(--spacing-md);justify-content:space-between;position:relative}.steps-container:before{background:var(--gray-100);content:"";height:2px;left:64px;position:absolute;right:64px;top:32px;z-index:1}.step-item{align-items:center;cursor:pointer;display:flex;flex:1 1;flex-direction:column;gap:var(--spacing-sm);max-width:200px;z-index:2}.step-indicator,.step-item{position:relative;transition:all var(--transition-normal)}.step-indicator{background:var(--gray-100);border:3px solid var(--gray-100);height:64px;width:64px}.step-item.active .step-indicator{background:var(--primary-pastel-blue);border-color:var(--primary-500)}.step-item.current .step-indicator{background:var(--primary-500);border-color:var(--primary-600);transform:scale(1.1)}.step-icon{font-size:20px;position:absolute}.step-number{background:var(--white);border:2px solid var(--primary-500);bottom:-8px;color:var(--text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);height:24px;position:absolute;right:-8px;width:24px}.step-item.current .step-number{background:var(--primary-500);color:var(--white)}.step-title{color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);text-align:center;transition:color var(--transition-normal)}.step-item.active .step-title{color:var(--primary-600)}.step-item.current .step-title{color:var(--primary-600);font-weight:var(--font-weight-semibold)}.parameter-info-banner{background:linear-gradient(135deg,#e3f2fd,#e8f5e8);border-left:4px solid var(--primary-500);border-radius:var(--border-radius-lg);margin-bottom:var(--spacing-lg);overflow:hidden}.banner-content{align-items:center;display:flex;gap:var(--spacing-md);padding:var(--spacing-lg)}.banner-icon{flex-shrink:0;font-size:32px}.banner-text{flex:1 1}.banner-title{color:var(--primary-600);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-xs)}.banner-subtitle{color:var(--text-secondary);font-size:var(--font-size-sm)}.empty-state{padding:var(--spacing-3xl)}.empty-state-icon{font-size:64px;margin-bottom:var(--spacing-lg)}.empty-state-title{color:var(--text-primary);font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-md)}.empty-state-description{font-size:var(--font-size-md);margin-bottom:var(--spacing-xl);margin-left:auto;margin-right:auto;max-width:400px}.empty-state-action{margin-top:var(--spacing-lg)}.step-card{background:var(--white);border:none;border-radius:var(--border-radius-lg);box-shadow:var(--shadow-medium);margin-bottom:var(--spacing-xl);overflow:hidden}.step-card .card-header{background:linear-gradient(135deg,var(--primary-pastel-blue) 0,var(--primary-mint) 100%);color:var(--text-primary);padding:var(--spacing-xl)}.step-card .card-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-xs)}.step-card .card-subtitle{color:var(--text-secondary);font-size:var(--font-size-md);opacity:.8}.form-grid{grid-gap:var(--spacing-xl);display:grid;gap:var(--spacing-xl);padding:var(--spacing-xl)}.form-section{background:var(--soft-white);border:1px solid var(--light-border);border-radius:var(--border-radius-md);padding:var(--spacing-lg)}.section-title{align-items:center;color:var(--text-primary);display:flex;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);gap:var(--spacing-sm)}.form-row,.section-title{margin-bottom:var(--spacing-lg)}.form-row{grid-gap:var(--spacing-lg);gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.form-row:last-child{margin-bottom:0}.form-group{gap:var(--spacing-sm)}.form-label{color:var(--text-primary);display:flex;flex-direction:column;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);gap:var(--spacing-xs)}.label-helper{color:var(--text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-normal)}.form-input{background:var(--white);border:2px solid var(--light-border);border-radius:var(--border-radius-sm);color:var(--text-primary);font-size:var(--font-size-md);padding:var(--spacing-md);transition:all var(--transition-normal)}.form-input:focus{border-color:var(--primary-500);box-shadow:0 0 0 3px #3b82f61a;outline:none}.form-input-readonly{align-items:center;background:var(--gray-100);border:2px solid var(--light-border);border-radius:var(--border-radius-sm);display:flex;font-size:var(--font-size-md);justify-content:space-between;padding:var(--spacing-md)}.readonly-value{color:var(--text-primary);font-weight:var(--font-weight-medium)}.nurse-count-breakdown{display:flex;flex:1 1;flex-direction:column;gap:8px}.nurse-count-breakdown .total-count{color:var(--primary-600);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold)}.count-details{align-items:flex-start;display:flex;flex-wrap:wrap;gap:6px}.detail-item{word-wrap:break-word;background:var(--white);border:1px solid #e5e7eb;border-radius:4px;color:var(--text-secondary);display:inline-block;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);padding:4px 8px;white-space:normal;width:fit-content}.detail-item.supervisor-count{background:linear-gradient(135deg,#fef3c7,#fde68a);border-color:#fbbf24;color:#92400e;font-weight:var(--font-weight-semibold)}.form-helper{color:var(--text-muted);font-size:var(--font-size-xs);margin-top:var(--spacing-xs)}.checkbox-label{align-items:center;cursor:pointer;display:flex;gap:var(--spacing-sm)}.checkbox-input{accent-color:var(--primary-500);height:20px;width:20px}.checkbox-text{color:var(--text-primary);font-size:var(--font-size-md);font-weight:var(--font-weight-medium)}.toggle-switch-container{background:var(--white);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);padding:var(--spacing-lg);transition:all var(--transition-normal)}.toggle-switch-header{align-items:center;display:flex;gap:var(--spacing-lg);justify-content:space-between;margin-bottom:var(--spacing-md)}.toggle-switch-title{color:var(--text-primary);flex:1 1;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}.toggle-switch-wrapper{align-items:center;display:flex;gap:var(--spacing-lg);justify-content:flex-end;min-width:200px}.toggle-switch{margin-right:1px;transition:all .3s ease}.toggle-switch.disabled{cursor:not-allowed;opacity:.5}.toggle-slider{align-items:center;border:1px solid #d1d5db;border-radius:14px;box-shadow:inset 0 2px 4px #0000001a;display:flex;height:28px;width:56px}.toggle-switch.active .toggle-slider{background:#3b82f6;border-color:#2563eb;box-shadow:inset 0 2px 4px #2563eb33}.toggle-button{border:none;box-shadow:0 2px 4px #0003;height:24px;width:24px;z-index:2}.toggle-switch.active .toggle-button{box-shadow:0 2px 4px #0003;transform:translateX(28px)}.toggle-switch.disabled .toggle-slider{background:#d1d5db;border-color:#9ca3af;cursor:not-allowed}.toggle-switch.disabled .toggle-button{background:#f3f4f6;box-shadow:0 1px 2px #0000001a;cursor:not-allowed}.toggle-switch:not(.disabled):hover .toggle-slider{box-shadow:inset 0 2px 4px #00000026,0 0 0 2px #3b82f633;transform:scale(1.02)}.toggle-switch:not(.disabled):active .toggle-slider{transform:scale(.98)}.toggle-status{border:1px solid #0000;border-radius:var(--border-radius-sm);flex-shrink:0;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);margin-left:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-sm);transition:all var(--transition-normal);white-space:nowrap}.toggle-status.enabled{background-color:#dcfce7;border-color:#bbf7d0;color:#16a34a}.toggle-status.disabled{background-color:#fee2e2;border-color:#fecaca;color:#dc2626}.toggle-description{border-top:1px solid var(--light-border);color:var(--text-muted);font-size:var(--font-size-sm);padding:var(--spacing-sm) 0}.toggle-switch-container:hover{border-color:var(--primary-300);box-shadow:0 0 0 3px #2563eb1a}.toggle-switch-container:has(.toggle-switch.disabled):hover,.toggle-switch.disabled:hover{border-color:var(--border-color);box-shadow:none}.info-box{background:var(--primary-50);border:1px solid var(--primary-pastel-blue);border-radius:var(--border-radius-md);margin-top:var(--spacing-md);padding:var(--spacing-lg)}.info-box-header{align-items:center;display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.info-icon{font-size:20px}.info-title{color:var(--primary-600);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold)}.info-list{list-style:none;margin:0;padding:0}.info-list li{color:var(--text-secondary);font-size:var(--font-size-sm);line-height:1.5;padding:var(--spacing-xs) 0;padding-left:var(--spacing-lg);position:relative}.info-list li:before{color:var(--primary-500);content:"•";font-weight:var(--font-weight-bold);left:0;position:absolute}.step-actions{background:var(--soft-white);border-top:1px solid var(--light-border);display:flex;gap:var(--spacing-md);justify-content:flex-end;padding:var(--spacing-xl)}.final-actions{justify-content:space-between}.step-generate-button,.step-next-button,.step-prev-button{border-radius:var(--border-radius-sm);font-weight:var(--font-weight-semibold);min-width:160px;padding:var(--spacing-md) var(--spacing-xl);transition:all var(--transition-normal)}.review-grid{grid-gap:var(--spacing-xl);display:grid;gap:var(--spacing-xl);grid-template-columns:1fr;max-width:none;padding:var(--spacing-xl)}.review-section{background:var(--soft-white);border:1px solid var(--light-border);border-radius:var(--border-radius-md);box-sizing:border-box;padding:var(--spacing-xl);width:100%}.review-title{align-items:center;color:var(--text-primary);display:flex;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);gap:var(--spacing-sm);margin-bottom:var(--spacing-lg)}.review-subtitle{color:var(--text-secondary);font-size:var(--font-size-md);font-weight:var(--font-weight-medium);margin:var(--spacing-md) 0 var(--spacing-sm) 0}.review-item{align-items:center;border-bottom:1px solid var(--light-border);display:flex;justify-content:space-between;padding:var(--spacing-sm) 0}.review-item:last-child{border-bottom:none}.review-label{color:var(--text-secondary);font-weight:var(--font-weight-medium)}.review-label,.review-value{font-size:var(--font-size-sm)}.review-value{color:var(--text-primary);font-weight:var(--font-weight-semibold)}.review-value.enabled{color:var(--success-700)}.review-value.disabled{color:var(--text-muted)}.review-shifts{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin-top:var(--spacing-sm)}.shift-item{background:var(--primary-pastel-blue);border-radius:var(--border-radius-sm);color:var(--primary-600);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);padding:var(--spacing-xs) var(--spacing-sm)}.review-requests{margin-top:var(--spacing-md)}.requests-preview{background:var(--soft-white);border:1px solid var(--light-border);border-radius:var(--border-radius-md);margin-top:var(--spacing-xl);padding:var(--spacing-lg)}.preview-title{color:var(--text-primary);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-md)}.requests-table-container{border:1px solid var(--light-border);border-radius:var(--border-radius-sm);max-height:300px;overflow-y:auto}.requests-table{border-collapse:collapse;font-size:var(--font-size-sm);width:100%}.requests-table th{background:var(--gray-100);color:var(--text-primary);font-weight:var(--font-weight-semibold);position:sticky;text-align:left;top:0}.requests-table td,.requests-table th{border-bottom:1px solid var(--light-border);padding:var(--spacing-md)}.requests-table td{color:var(--text-secondary)}.request-badge{border-radius:var(--border-radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);padding:var(--spacing-xs) var(--spacing-sm)}.shift-request{background:var(--primary-50);color:var(--primary-600)}.holiday-request{background:var(--error-50);color:var(--error-600)}@media (max-width:768px){.schedule-creator{padding:var(--spacing-md)}.steps-container{flex-direction:column;gap:var(--spacing-lg)}.steps-container:before{display:none}.step-item{flex-direction:row;justify-content:flex-start;max-width:none;width:100%}.form-row{gap:var(--spacing-md)}.form-row,.review-grid{grid-template-columns:1fr}.review-grid{gap:var(--spacing-lg)}.step-actions{flex-direction:column}.final-actions{flex-direction:column-reverse}.step-generate-button,.step-next-button,.step-prev-button{width:100%}.detail-item{text-align:center}}@media (max-width:480px){.banner-content{flex-direction:column;text-align:center}.requests-table td,.requests-table th{padding:var(--spacing-sm)}}.individual-settings{margin-top:var(--spacing-md)}.individual-settings-controls{align-items:flex-end;display:flex;gap:var(--spacing-md)}.individual-settings-list{background:var(--gray-25);border:1px solid var(--gray-100);border-radius:var(--border-radius-md);margin-top:var(--spacing-lg);padding:var(--spacing-md)}.individual-settings-list h5{color:var(--text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-md)}.individual-items{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.individual-item{align-items:center;background:var(--white);border:1px solid var(--primary-100);border-radius:var(--border-radius-full);display:flex;font-size:var(--font-size-sm);gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md)}.nurse-name{color:var(--text-primary);font-weight:var(--font-weight-medium)}.working-days{color:var(--primary-600);font-weight:var(--font-weight-semibold)}.remove-button{align-items:center;background:var(--danger-100);border:none;border-radius:50%;color:var(--danger-600);cursor:pointer;display:flex;font-size:12px;height:20px;justify-content:center;line-height:1;transition:all var(--transition-normal);width:20px}.remove-button:hover{background:var(--danger-200);color:var(--danger-700)}.review-individual{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);margin-top:var(--spacing-xs)}.individual-review-item{background:var(--primary-50);border-radius:var(--border-radius-sm);color:var(--primary-700);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);padding:var(--spacing-xs) var(--spacing-sm)}@media (max-width:768px){.individual-settings-controls{align-items:stretch;flex-direction:column}.individual-items{flex-direction:column}.individual-item{justify-content:space-between}.schedule-creator,.schedule-creator-steps{padding:var(--spacing-md)}.steps-container{flex-wrap:wrap;gap:var(--spacing-sm)}.steps-container:before{display:none}.step-item{flex:0 0 calc(50% - var(--spacing-sm));max-width:none}.step-indicator{height:48px;width:48px}.step-icon{font-size:16px}.form-row{flex-direction:column;gap:var(--spacing-md)}.form-group{width:100%}.requests-table{font-size:var(--font-size-sm)}.requests-table td,.requests-table th{font-size:var(--font-size-xs);padding:var(--spacing-xs)}.adjustment-table-wrapper{-webkit-overflow-scrolling:touch;margin:0 -var(--spacing-md);overflow-x:auto;padding:0 var(--spacing-md)}.adjustment-table{font-size:12px;min-width:600px}.adjustment-table td,.adjustment-table th{font-size:var(--font-size-xs);padding:var(--spacing-sm)}.btn-danger,.btn-primary,.btn-secondary{font-size:var(--font-size-md);min-height:44px;padding:var(--spacing-sm) var(--spacing-md)}.banner-content{padding:var(--spacing-md)}.banner-title{font-size:var(--font-size-xl)}.banner-text{font-size:var(--font-size-sm)}.summary-card-header h4{font-size:var(--font-size-md)}.summary-value{font-size:var(--font-size-lg)}.nurse-item{padding:var(--spacing-sm)}.nurse-checkbox{height:18px;width:18px}.nurse-label{font-size:var(--font-size-sm)}}@media (max-width:480px){.schedule-creator{padding:var(--spacing-sm)}.step-item{flex:0 0 100%}.step-indicator{height:40px;width:40px}.step-icon{font-size:14px}.step-label{font-size:var(--font-size-xs)}.summary-grid{grid-template-columns:1fr}.requests-table{font-size:var(--font-size-xs)}.requests-table td,.requests-table th{padding:4px}.individual-item{font-size:var(--font-size-xs);padding:var(--spacing-xs) var(--spacing-sm)}.remove-button{font-size:10px;height:18px;width:18px}.review-grid{grid-template-columns:1fr}.final-actions{gap:var(--spacing-sm)}.step-generate-button,.step-prev-button{font-size:var(--font-size-sm);padding:var(--spacing-sm)}}.review-section.adjustment-section{background:#ffebee;border:2px solid #f44336;margin:var(--spacing-lg) 0;padding:var(--spacing-xl)}.adjustment-table{border-collapse:collapse;font-size:14px;margin-top:var(--spacing-md);width:100%}.adjustment-table th{background:#f5f5f5;border-bottom:2px solid #ddd;font-weight:var(--font-weight-semibold)}.adjustment-table td,.adjustment-table th{padding:var(--spacing-md);text-align:center;white-space:nowrap}.adjustment-table td{border-bottom:1px solid #eee}.adjustment-table td:first-child,.adjustment-table th:first-child{min-width:120px;text-align:left}@media (min-width:1200px){.review-grid{gap:var(--spacing-xl);grid-template-columns:1fr 1fr;margin:0 auto;max-width:1400px}.review-section.adjustment-section{grid-column:1/-1}}.preceptor-manager{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;padding:1rem}.management-rules{background:linear-gradient(135deg,#f8f9ff,#e8f2ff);border:1px solid #e1e8f0;border-radius:12px;box-shadow:0 2px 8px #0000000d;margin-bottom:2rem;padding:1.5rem}.rules-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.rules-header h3{color:#2563eb;font-size:1.1rem;font-weight:600;margin:0}.rules-toggle{color:#6b7280;cursor:pointer;font-size:.85rem;opacity:.7}.rules-content{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.rule-item{align-items:flex-start;background:#ffffffe6;border-radius:8px;box-shadow:0 1px 3px #0000001a;display:flex;gap:1rem;padding:1rem;transition:all .2s ease}.rule-item:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.rule-icon{align-items:center;background:#f3f4f6;border-radius:8px;display:flex;flex-shrink:0;font-size:1.5rem;height:40px;justify-content:center;width:40px}.rule-content{flex:1 1}.rule-title{color:#1f2937;display:block;font-size:.9rem;font-weight:600;margin-bottom:.25rem}.rule-desc{color:#6b7280;display:block;font-size:.8rem;line-height:1.4}.preceptor-stats{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:2rem}.stat-card{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #0000001a;display:flex;gap:1rem;padding:1.5rem;transition:all .2s ease}.stat-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.stat-card.total{border-left:4px solid #6b7280}.stat-card.preceptor{border-left:4px solid #10b981}.stat-card.preceptee{border-left:4px solid #3b82f6}.stat-card.unassigned{border-left:4px solid #f59e0b}.stat-icon{flex-shrink:0;font-size:2rem}.stat-info{display:flex;flex-direction:column}.stat-number{color:#1f2937;font-size:1.75rem}.stat-label{color:#6b7280}.relationships-section{margin-top:2rem}.section-header{flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem}.section-header h3{color:#1f2937;font-size:1.2rem;font-weight:600;margin:0}.legend{gap:1rem}.legend-item{color:#6b7280;font-size:.8rem;gap:.5rem}.legend-dot{border-radius:50%;height:12px;width:12px}.legend-dot.preceptor{background:#10b981}.legend-dot.preceptee{background:#3b82f6}.legend-dot.both{background:linear-gradient(45deg,#10b981 50%,#3b82f6 0)}.relationships-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.relationship-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #0000001a;overflow:hidden;transition:all .2s ease}.relationship-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.relationship-card.has-preceptor-role{border-left:4px solid #10b981}.relationship-card.has-preceptee-role{border-left:4px solid #3b82f6}.relationship-card.has-preceptor-role.has-preceptee-role{border-left:4px solid #f59e0b}.relationship-card.unassigned{border-left:4px solid #d1d5db}.card-header{align-items:center;display:flex;justify-content:space-between;padding:1.25rem 1.25rem 0}.nurse-main-info{flex:1 1}.nurse-name{color:#1f2937;font-size:1.1rem;font-weight:600;margin:0 0 .5rem}.nurse-details{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.role-badge{border-radius:6px;font-size:.7rem;letter-spacing:.05em}.role-badge.unassigned{background:#fef3c7;color:#92400e}.status-indicator{font-size:2rem;opacity:.7}.card-content{padding:1rem 1.25rem}.relationship-info{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:1rem;padding:1rem}.relationship-info:last-child{margin-bottom:0}.relationship-header{margin-bottom:.75rem}.relationship-label{color:#374151;font-size:.85rem;font-weight:600}.relationship-detail{align-items:center;display:flex;justify-content:space-between;padding:.5rem 0}.relationship-detail+.relationship-detail{border-top:1px solid #e5e7eb;margin-top:.75rem;padding-top:.75rem}.partner-name{color:#1f2937;font-weight:500}.remove-btn{font-size:.75rem!important;padding:.375rem .75rem!important}.empty-state{color:#9ca3af;padding:2rem 1rem}.empty-icon{display:block;font-size:2rem;margin-bottom:.5rem}.empty-text{font-size:.875rem}.card-actions{padding:0 1.25rem 1.25rem}.card-actions .btn{font-weight:600;gap:.5rem;justify-content:center;width:100%}.btn-icon{font-size:1rem}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009}.modal-content{border-radius:16px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-width:600px}.modal-header{margin-bottom:1.5rem;padding:1.5rem 1.5rem 0}.modal-header h3{gap:.5rem}.modal-icon{font-size:1.5rem}.modal-close{color:#9ca3af}.modal-close:hover{color:#6b7280}.modal-body{padding:0 1.5rem}.assignee-info{margin-bottom:1.5rem}.assignee-card{align-items:center;background:#f0f9ff;border:1px solid #bae6fd;border-radius:12px;display:flex;gap:1rem;padding:1rem}.assignee-icon{font-size:2rem}.assignee-details{display:flex;flex-direction:column}.assignee-name{color:#1f2937;font-size:1.1rem;font-weight:600}.arrow-indicator{margin:1.5rem 0;text-align:center}.arrow{display:block;font-size:1.5rem;margin-bottom:.5rem}.arrow-text{color:#6b7280;font-size:.875rem;font-weight:500}.available-preceptors{margin-bottom:1.5rem}.preceptor-option{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:12px;display:flex;gap:1rem;margin-bottom:1rem;padding:1rem;transition:all .2s ease}.preceptor-option:hover{border-color:#3b82f6;box-shadow:0 4px 12px #3b82f61a}.preceptor-option:last-child{margin-bottom:0}.preceptor-card{align-items:center;display:flex;flex:1 1;gap:1rem}.preceptor-avatar{align-items:center;background:#f0fdf4;border:2px solid #bbf7d0;border-radius:12px;display:flex;font-size:2rem;height:60px;justify-content:center;width:60px}.preceptor-details{flex:1 1}.preceptor-name{color:#1f2937;font-size:1.1rem;font-weight:600;margin:0 0 .5rem}.preceptor-meta{display:flex;gap:1rem;margin-bottom:.5rem}.preceptor-load{color:#6b7280;font-size:.8rem}.availability-status{align-items:center;display:flex;gap:.5rem}.status-dot{border-radius:50%;height:8px;width:8px}.status-dot.available{background:#10b981}.status-text{color:#059669;font-size:.8rem;font-weight:500}.preceptor-option .btn{font-weight:600;min-width:100px}.no-preceptors{background:#fefce8;border:2px dashed #fbbf24;border-radius:12px;padding:2rem;text-align:center}.no-preceptors-icon{font-size:3rem;margin-bottom:1rem}.no-preceptors h4{color:#92400e;font-size:1.1rem;margin:.5rem 0}.no-preceptors p{color:#a16207;line-height:1.5;margin:1rem 0}.current-assignments{margin-top:1.5rem;text-align:left}.current-assignments h5{color:#78716c;font-size:1rem;margin-bottom:1rem}.assignment-list{display:flex;flex-direction:column;gap:.75rem}.assignment-item{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:8px;display:flex;font-size:.875rem;gap:.75rem;padding:.75rem}.assignment-preceptor{color:#059669;font-weight:500}.assignment-arrow{color:#6b7280;font-weight:700}.assignment-preceptee{color:#2563eb;font-weight:500}.modal-actions{border-top:1px solid #e5e7eb}@media (max-width:768px){.preceptor-stats{grid-template-columns:repeat(2,1fr)}.relationships-grid{grid-template-columns:1fr}.section-header{align-items:flex-start;flex-direction:column}.legend{align-self:stretch;justify-content:space-between}.preceptor-card,.preceptor-option{flex-direction:column;text-align:center}.modal-content{margin:1rem;width:calc(100% - 2rem)}}@media (max-width:480px){.preceptor-stats{grid-template-columns:1fr}.nurse-details{gap:.25rem}.nurse-details,.relationship-detail{align-items:flex-start;flex-direction:column}.relationship-detail{gap:.5rem}.rules-content{grid-template-columns:1fr}.rule-item,.stat-card{flex-direction:column;text-align:center}.stat-card{gap:.5rem}.modal-header{align-items:flex-start;flex-direction:column;gap:1rem}.modal-close{align-self:flex-end}}.preceptor-manager .readonly-notice{align-items:center;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:1px solid var(--border-color);border-radius:var(--border-radius);color:var(--text-muted);display:flex;font-size:.9rem;font-weight:500;gap:.5rem;margin-bottom:1.5rem;padding:.75rem 1rem}.preceptor-manager .readonly-notice:before{content:"👁️";font-size:1rem}.preceptor-manager .relationship-card{transition:all .2s ease}.preceptor-manager .readonly-notice+.management-rules{opacity:.9}.preceptor-manager .readonly-notice+.management-rules .rule-item{opacity:.8}.team-manager{display:flex;flex-direction:column;gap:1.5rem}.team-header{align-items:center;background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);box-shadow:var(--shadow-sm);display:flex;gap:1.5rem;justify-content:space-between;padding:1.5rem}.team-stats{display:flex;gap:2rem}.stat-item{align-items:center;display:flex;flex-direction:column}.stat-number{color:var(--primary-color);font-size:2rem;line-height:1}.stat-label{font-size:.875rem;margin-top:.25rem}.team-actions{align-items:center;display:flex;gap:.75rem}.team-actions button[title*=\D504\B9AC\C149\D130]{background:linear-gradient(135deg,#059669,#047857);box-shadow:0 2px 4px #0596694d;overflow:hidden;position:relative}.team-actions button[title*=\D504\B9AC\C149\D130]:hover{box-shadow:0 4px 8px #05966966;transform:translateY(-1px)}.team-actions button[title*=\D504\B9AC\C149\D130]:before{background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.team-actions button[title*=\D504\B9AC\C149\D130]:hover:before{left:100%}.teams-container{display:flex;flex-direction:column;gap:1.5rem}.teams-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.team-card{border-left:4px solid var(--primary-color);transition:all .3s ease}.team-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.team-drop-zone{border:2px dashed #0000;border-radius:var(--border-radius);min-height:200px;padding:1rem;transition:all .3s ease}.team-drop-zone.drag-over,.team-drop-zone:hover{background:var(--primary-color-light);border-color:var(--primary-color)}.team-header-card{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;margin-bottom:1rem;padding-bottom:.75rem}.team-name{color:var(--text-primary);font-size:1.25rem;font-weight:600;margin:0}.team-count{background:var(--primary-color);border-radius:12px;color:#fff;font-size:.75rem;font-weight:600;padding:.25rem .5rem}.team-members{display:flex;flex-direction:column;gap:.5rem}.team-member{align-items:center;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--border-radius);display:flex;justify-content:space-between;padding:.75rem;transition:all .2s ease}.team-member:hover{background:var(--primary-color-light);border-color:var(--primary-color)}.member-info{align-items:center;display:flex;gap:.5rem}.member-name{color:var(--text-primary);font-weight:500}.member-id{background:var(--text-muted);border-radius:8px;color:#fff;font-size:.7rem;font-weight:600;padding:.125rem .375rem}.remove-member-btn{align-items:center;background:linear-gradient(135deg,#ff4757,#c44569);border:none;border-radius:50%;box-shadow:0 2px 4px #ff47574d;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:700;height:26px;justify-content:center;overflow:hidden;position:relative;transition:all .3s ease;width:26px}.remove-member-btn:before{background:#ffffff1a;border-radius:50%;bottom:0;content:"";left:0;position:absolute;right:0;top:0;transform:scale(0);transition:transform .3s ease}.remove-member-btn:hover{background:linear-gradient(135deg,#ff3742,#b83d5e);box-shadow:0 4px 8px #ff475780;transform:scale(1.15)}.remove-member-btn:hover:before{transform:scale(1)}.remove-member-btn:active{box-shadow:0 2px 4px #ff475766;transform:scale(1.05)}.empty-team{color:var(--text-muted);padding:2rem;text-align:center}.empty-team p{font-weight:500;margin:0 0 .5rem}.empty-team small{font-size:.8rem;opacity:.8}.unassigned-section{border-left:4px solid var(--warning-color)}.unassigned-staff{min-height:100px}.staff-grid{grid-gap:1rem;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.unassigned-staff-item{align-items:center;background:var(--card-bg);border:2px solid var(--border-color);border-radius:var(--border-radius);cursor:grab;display:flex;justify-content:space-between;padding:1rem;transition:all .3s ease}.unassigned-staff-item:hover{border-color:var(--primary-color);box-shadow:var(--shadow-md);transform:translateY(-2px)}.unassigned-staff-item:active{cursor:grabbing}.unassigned-staff-item.is-preceptor{background:linear-gradient(135deg,#f0fdf4 0,var(--card-bg) 100%);border-left:4px solid #059669}.unassigned-staff-item.is-preceptee{background:linear-gradient(135deg,#eff6ff 0,var(--card-bg) 100%);border-left:4px solid #2563eb}.unassigned-staff-item .staff-info{display:flex;flex:1 1;flex-direction:column;gap:.5rem}.staff-main-info{align-items:center;display:flex;gap:.5rem}.staff-name{color:var(--text-primary)}.staff-id{background:var(--text-muted);border-radius:8px;color:#fff;font-size:.7rem;font-weight:600;padding:.125rem .375rem}.staff-roles{display:flex;flex-wrap:wrap;gap:.5rem}.role-badge{align-items:center;border-radius:12px;cursor:help;display:inline-flex;font-size:.75rem;font-weight:500;gap:.25rem;padding:.25rem .5rem}.role-badge.preceptor{background:#dcfce7;border:1px solid #bbf7d0;color:#166534}.role-badge.preceptee{background:#dbeafe;border:1px solid #93c5fd;color:#1e40af}.assign-actions{align-items:center;display:flex;flex-direction:column;gap:.75rem;margin-top:.5rem}.assign-actions-label{color:var(--text-secondary);font-size:.8rem;font-weight:600;margin:0;text-align:center}.team-buttons{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}.assign-btn{align-items:center;background:linear-gradient(135deg,var(--primary-color) 0,var(--primary-color-dark) 100%);border:2px solid #0000;border-radius:12px;box-shadow:0 2px 4px #0000001a;color:#fff!important;cursor:pointer;display:flex;font-size:.75rem;font-weight:600;gap:.4rem;min-width:60px;overflow:hidden;padding:.5rem .75rem;position:relative;transition:all .3s ease}.assign-btn:before{background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.assign-btn:hover{box-shadow:0 4px 12px #0003;transform:translateY(-2px) scale(1.05)}.assign-btn:hover:before{left:100%}.assign-btn:active{box-shadow:0 2px 6px #00000026;transform:translateY(0) scale(1.02)}.team-icon{filter:drop-shadow(0 1px 1px rgba(0,0,0,.2));font-size:.9rem}.team-name{font-weight:700;letter-spacing:.025em;text-shadow:0 1px 1px #0000001a}.assign-btn .team-icon,.assign-btn .team-name,.assign-btn.team-a,.team-name{color:#fff!important}.assign-btn.team-a{background:linear-gradient(135deg,#dc3545,#b02a37);box-shadow:0 2px 6px #dc35454d}.assign-btn.team-a:hover{box-shadow:0 4px 12px #dc354566}.assign-btn.team-b{background:linear-gradient(135deg,#198754,#145843);box-shadow:0 2px 6px #1987544d;color:#fff!important}.assign-btn.team-b:hover{box-shadow:0 4px 12px #19875466}.assign-btn.team-c{background:linear-gradient(135deg,#fd7e14,#e8590c);box-shadow:0 2px 6px #fd7e144d;color:#fff!important}.assign-btn.team-c:hover{box-shadow:0 4px 12px #fd7e1466}.assign-btn.team-d{background:linear-gradient(135deg,#6f42c1,#5a2d91);box-shadow:0 2px 6px #6f42c14d;color:#fff!important}.assign-btn.team-d:hover{box-shadow:0 4px 12px #6f42c166}.assign-btn.team-e{background:linear-gradient(135deg,#feca57,#ffb300);box-shadow:0 2px 6px #feca574d;color:#fff!important}.assign-btn.team-e:hover{box-shadow:0 4px 12px #feca5766}.assign-btn.team-f{background:linear-gradient(135deg,#ff9ff3,#e91e63);box-shadow:0 2px 6px #ff9ff34d;color:#fff!important}.assign-btn.team-f:hover{box-shadow:0 4px 12px #ff9ff366}.assign-btn.team-g{background:linear-gradient(135deg,#a8e6cf,#8bc34a);box-shadow:0 2px 6px #a8e6cf4d;color:#fff!important}.assign-btn.team-g:hover{box-shadow:0 4px 12px #a8e6cf66}.assign-btn.team-h{background:linear-gradient(135deg,plum,#9c27b0);box-shadow:0 2px 6px #dda0dd4d;color:#fff!important}.assign-btn.team-h:hover{box-shadow:0 4px 12px #dda0dd66}.no-unassigned{color:var(--success-color);font-weight:500;padding:2rem;text-align:center}.no-teams{color:var(--text-muted);padding:3rem;text-align:center}.no-teams-icon{font-size:4rem;margin-bottom:1rem}.no-teams h3{color:var(--text-primary);margin-bottom:1rem}.no-teams p{line-height:1.5;margin:.5rem 0}.modal{background:var(--card-bg);border-radius:var(--border-radius);box-shadow:var(--shadow-xl);margin:1rem;max-width:500px}.modal-header{border-bottom:1px solid var(--border-color);padding:1.5rem}.modal-header h3{color:var(--text-primary);font-size:1.25rem}.modal-close{border-radius:8px;color:var(--text-muted);font-size:1.5rem;padding:.5rem}.modal-close:hover{background:var(--bg-secondary);color:var(--text-primary)}.modal-body{padding:1.5rem}.form-group{gap:.5rem}.form-group small{color:var(--text-muted);font-size:.8rem}.modal-actions{gap:.75rem;padding:1.5rem}@media (max-width:768px){.team-header{align-items:stretch;flex-direction:column;gap:1rem}.team-stats{justify-content:space-around}.team-actions{justify-content:center}.staff-grid,.teams-grid{grid-template-columns:1fr}.unassigned-staff-item{align-items:stretch;flex-direction:column;gap:1rem}.assign-actions{align-items:stretch;gap:.5rem}.assign-actions-label{font-size:.75rem}.team-buttons{gap:.4rem}.assign-btn{font-size:.7rem;min-width:55px;padding:.4rem .6rem}.team-icon{font-size:.8rem}.modal{margin:.5rem}}.unassigned-staff-item.dragging{opacity:.5;transform:rotate(5deg)}.team-drop-zone.drag-over{background:var(--success-color-light);border-color:var(--success-color)}.team-card{animation:slideIn .3s ease-out}.team-member{animation:slideIn .2s ease-out}.unassigned-staff-item{animation:slideIn .3s ease-out}@media (max-width:480px){.team-buttons{gap:.3rem}.assign-btn{font-size:.65rem;gap:.3rem;min-width:50px;padding:.35rem .5rem}.team-icon{font-size:.75rem}.team-name{font-size:.65rem}.assign-actions-label{font-size:.7rem}.staff-grid{gap:.75rem}.unassigned-staff-item{gap:.75rem;padding:.75rem}}.team-manager .readonly-notice{align-items:center;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:1px solid var(--border-color);border-radius:var(--border-radius);color:var(--text-muted);display:flex;font-size:.9rem;font-weight:500;gap:.5rem;padding:.75rem 1rem}.team-manager .readonly-notice:before{content:"👁️";font-size:1rem}.team-drop-zone.readonly{opacity:.8;pointer-events:none}.unassigned-staff-item.readonly{cursor:default;opacity:.8;-webkit-user-select:none;user-select:none}.unassigned-staff-item.readonly:hover{box-shadow:var(--shadow-sm);transform:none}.team-card .readonly,.team-manager .readonly-notice+.team-stats{opacity:.9}.tab-navigation{background:var(--card-bg);border-bottom:1px solid var(--border-color);border-radius:var(--border-radius) var(--border-radius) 0 0;box-shadow:var(--shadow-sm);display:flex;margin-bottom:2rem;overflow:hidden}.tab-button{background:#0000;border:none;border-bottom:3px solid #0000;color:var(--text-muted);cursor:pointer;font-size:.95rem;font-weight:500;padding:1rem 1.5rem;position:relative;transition:all .2s ease;white-space:nowrap}.tab-button:hover{background:var(--bg-secondary);color:var(--text-primary)}.tab-button.active{background:var(--primary-color-light);border-bottom-color:var(--primary-color);color:var(--primary-color)}.tab-button:focus{box-shadow:inset 0 0 0 2px var(--primary-color-light);outline:none}@media (max-width:768px){.tab-navigation{flex-direction:column}.tab-button{border-bottom:1px solid var(--border-color);border-right:none;text-align:left}.tab-button.active{border-bottom-color:var(--border-color);border-left:3px solid var(--primary-color)}}.staff-manager{padding:1rem}.staff-manager .page-header{margin-bottom:1rem}.staff-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));margin-top:1.5rem}.staff-card{background:#fff;border:1px solid #e8ecf0;border-radius:20px;box-shadow:0 2px 12px #00000014;overflow:hidden;padding:2rem 1.5rem 1.5rem;position:relative;text-align:center}.staff-card:before{background:linear-gradient(90deg,#a78bfa,#c084fc 50%,#f472b6);content:"";height:3px;left:0;right:0;top:0;transition:opacity .3s ease}.staff-card:hover{border-color:#d1d5db;box-shadow:0 16px 32px #0000001f;transform:translateY(-6px)}.staff-card:hover:before{opacity:1}.staff-info{position:relative}.staff-details,.staff-info{align-items:center;display:flex;flex-direction:column;width:100%}.staff-avatar{align-items:center;background:linear-gradient(135deg,#a78bfa,#c084fc);border-radius:50%;box-shadow:0 4px 16px #a78bfa4d;color:#fff;display:flex;height:80px;justify-content:center;margin:0 auto 1rem;overflow:hidden;position:relative;width:80px}.staff-avatar svg{height:40px;width:40px}.staff-avatar:before{background:#ffffff26;border-radius:50%;bottom:0;content:"";left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s ease}.staff-card{cursor:grab;transition:all .3s cubic-bezier(.4,0,.2,1);will-change:transform,box-shadow}.staff-card:hover{cursor:grab}.staff-card:active{cursor:grabbing}.staff-card.dragging{box-shadow:0 12px 30px #00000040;opacity:.8;transform:rotate(3deg) scale(1.02);transition:none;z-index:1000}.staff-card.drag-over{background:#3b82f614;border:2px dashed var(--primary-500);box-shadow:0 10px 30px #3b82f666;transform:translateY(-6px) scale(1.02);transition:all .2s ease}.staff-grid{min-height:200px}.staff-grid:has(.staff-card.dragging){background:#3b82f605;border-radius:8px}.staff-card:before{color:var(--text-muted);content:"⋮⋮";font-size:14px;font-weight:700;letter-spacing:1px;opacity:0;pointer-events:none;position:absolute;right:8px;top:8px;transition:all .2s ease}.staff-card:hover:before{color:var(--primary-500);opacity:.6}.staff-card.dragging:before{opacity:0}.drag-scroll-guide{animation:fadeInScale .3s ease-out;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#000c;border:1px solid #fff3;border-radius:16px;box-shadow:0 8px 32px #0000004d;left:50%;padding:1rem 1.5rem;pointer-events:none;position:fixed;top:50%;transform:translate(-50%,-50%);z-index:9999}@keyframes fadeInScale{0%{opacity:0;transform:translate(-50%,-50%) scale(.8)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.scroll-indicator{align-items:center;color:#fff;display:flex;gap:.75rem;margin-bottom:.5rem}.scroll-wheel-icon{animation:pulseWheel 2s ease-in-out infinite;font-size:1.5rem}@keyframes pulseWheel{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.1)}}.scroll-text{color:#fffffff2;font-size:.95rem;font-weight:600;letter-spacing:.025em;text-shadow:0 1px 2px #0000004d}.drag-cancel-hint{align-items:center;color:#ffffffd9;display:flex;font-size:.8rem;gap:.5rem;justify-content:center;margin-top:.25rem}.esc-key{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#fff3;border:1px solid #ffffff4d;border-radius:4px;box-shadow:0 1px 3px #0003;color:#fffffff2;font-family:Courier New,monospace;font-size:.75rem;font-weight:700;padding:2px 6px}body.drag-in-progress{overflow-anchor:none;scroll-behavior:auto;-webkit-user-select:none;user-select:none}body.drag-in-progress,body.drag-in-progress *{cursor:grabbing!important}body.drag-in-progress:not(.dragging-with-scroll){overflow:hidden}.staff-grid:has(.staff-card.dragging){overflow-anchor:none;scroll-behavior:auto}body.drag-in-progress:not(.dragging-with-scroll) .staff-grid{overflow:hidden}body.dragging-with-scroll{overflow-y:auto}body.dragging-with-scroll::-webkit-scrollbar{width:8px}body.dragging-with-scroll::-webkit-scrollbar-track{background:#0000001a;border-radius:4px}body.dragging-with-scroll::-webkit-scrollbar-thumb{background:#3b82f699;border-radius:4px;-webkit-transition:background .2s ease;transition:background .2s ease}body.dragging-with-scroll::-webkit-scrollbar-thumb:hover{background:#3b82f6cc}@media (hover:none) and (pointer:coarse){.drag-scroll-guide{background:#000000e6;border:2px solid #ffffff4d;padding:1rem 1.5rem}.scroll-text{font-size:.9rem;text-align:center}.staff-card:hover:before{opacity:0}.staff-card:active:before{color:var(--primary-500);opacity:.6}.drag-cancel-hint{display:none}}.auto-scroll-indicator{align-items:center;animation:fadeInScrollIndicator .3s ease-out;cursor:pointer;display:flex;flex-direction:column;left:50%;opacity:.6;pointer-events:auto;position:fixed;transform:translateX(-50%);transition:opacity .3s ease,transform .3s ease;z-index:9998}.auto-scroll-indicator:hover{opacity:.8;transform:translateX(-50%) scale(1.02)}.auto-scroll-indicator.active{opacity:1;transform:translateX(-50%) scale(1.05)}.auto-scroll-indicator.active:hover{transform:translateX(-50%) scale(1.08)}.auto-scroll-indicator.top{top:0}.auto-scroll-indicator.bottom{bottom:0}@keyframes fadeInScrollIndicator{0%{opacity:0;transform:translateX(-50%) scale(.8)}to{opacity:1;transform:translateX(-50%) scale(1)}}.scroll-zone-indicator{background:linear-gradient(180deg,#3b82f614 0,#3b82f605 50%,#0000);height:100px;overflow:hidden;position:relative;transition:background .3s ease;width:100vw}.auto-scroll-indicator.active .scroll-zone-indicator{background:linear-gradient(180deg,#3b82f640 0,#3b82f61a 50%,#0000)}.auto-scroll-indicator.bottom .scroll-zone-indicator{background:linear-gradient(0deg,#3b82f614 0,#3b82f605 50%,#0000)}.auto-scroll-indicator.bottom.active .scroll-zone-indicator{background:linear-gradient(0deg,#3b82f640 0,#3b82f61a 50%,#0000)}.scroll-zone-indicator:before{animation:scrollZonePulse 2s ease-in-out infinite;background:linear-gradient(90deg,#0000,#3b82f699 25%,#3b82f6cc 50%,#3b82f699 75%,#0000);content:"";height:2px;left:0;position:absolute;right:0}.auto-scroll-indicator.top .scroll-zone-indicator:before{bottom:0}.auto-scroll-indicator.bottom .scroll-zone-indicator:before{top:0}@keyframes scrollZonePulse{0%,to{opacity:.4;transform:scaleX(.8)}50%{opacity:1;transform:scaleX(1.2)}}.scroll-arrow-container{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0009;border:1px solid #ffffff1a;border-radius:16px;box-shadow:0 4px 16px #0003;display:flex;flex-direction:column;gap:.5rem;min-width:200px;padding:1rem 1.5rem;text-align:center;transition:all .3s ease}.auto-scroll-indicator.active .scroll-arrow-container{background:#000000e6;border:1px solid #ffffff4d;box-shadow:0 12px 40px #0006}.scroll-arrow{align-items:center;animation:scrollArrowBounce 2s ease-in-out infinite;background:linear-gradient(135deg,#3b82f6,#8b5cf6);border-radius:50%;box-shadow:0 2px 8px #3b82f633;color:#fff;display:flex;height:48px;justify-content:center;opacity:.7;transition:all .3s ease;width:48px}.auto-scroll-indicator.active .scroll-arrow{animation:scrollArrowBounce 1s ease-in-out infinite;box-shadow:0 6px 20px #3b82f699;opacity:1;transform:scale(1.1)}.scroll-arrow.up{animation-name:scrollArrowBounceUp}.scroll-arrow.down{animation-name:scrollArrowBounceDown}@keyframes scrollArrowBounceUp{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes scrollArrowBounceDown{0%,to{transform:translateY(0)}50%{transform:translateY(8px)}}.scroll-arrow svg{filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.scroll-arrow-container .scroll-text{color:#ffffffb3;font-size:.875rem;font-weight:600;letter-spacing:.025em;text-shadow:0 1px 2px #0000004d;transition:color .3s ease}.auto-scroll-indicator.active .scroll-arrow-container .scroll-text{color:#fffffff2;font-weight:700}@media (max-width:768px){.scroll-zone-indicator{height:80px}.scroll-arrow-container{min-width:160px;padding:.75rem 1rem}.scroll-arrow{height:40px;width:40px}.scroll-arrow svg{height:24px;width:24px}.scroll-arrow-container .scroll-text{font-size:.8rem}}@media (max-width:480px){.scroll-zone-indicator{height:60px}.scroll-arrow-container{min-width:140px;padding:.5rem .75rem}.scroll-arrow{height:36px;width:36px}.scroll-arrow svg{height:20px;width:20px}.scroll-arrow-container .scroll-text{font-size:.75rem}}@media (max-width:768px){.staff-manager{padding:.5rem}.staff-grid{gap:1rem;grid-template-columns:1fr;margin-top:1rem}.staff-card{border-radius:16px;padding:1.5rem 1rem}.staff-avatar{height:60px;margin-bottom:.75rem;width:60px}.staff-avatar svg{height:30px;width:30px}.tab-navigation{-webkit-overflow-scrolling:touch;display:flex;flex-direction:row;margin:0 -.5rem;overflow-x:auto;padding:0 .5rem}.tab-button{flex-shrink:0;font-size:.875rem;min-width:100px;padding:.75rem 1rem}.staff-info-row{font-size:.875rem;gap:.5rem}.staff-badge{font-size:.75rem;padding:.25rem .5rem}.staff-actions{flex-direction:row;gap:.5rem;margin-top:1rem}.btn{font-size:.875rem;min-height:44px;padding:.5rem 1rem}.search-bar{flex-direction:column;gap:.75rem}.search-input{font-size:1rem;padding:.75rem 1rem}.filter-dropdown,.search-input{min-height:44px;width:100%}.team-badge{font-size:.75rem;padding:.25rem .75rem}.staff-name-section{flex-wrap:wrap;justify-content:center;text-align:center}.staff-name{font-size:1rem}.staff-id{font-size:.75rem}}@media (max-width:480px){.staff-manager{padding:.25rem}.staff-grid{gap:.75rem}.staff-card{border-radius:12px;padding:1rem}.staff-avatar{height:50px;width:50px}.staff-avatar svg{height:24px;width:24px}.staff-actions{flex-direction:column;width:100%}.btn{width:100%}.btn,.tab-button{font-size:.8125rem;padding:.625rem .75rem}.tab-button{min-width:80px}.staff-info-row{font-size:.8125rem}.staff-badge{font-size:.6875rem;padding:.125rem .375rem}.team-badge{font-size:.6875rem;padding:.125rem .5rem}.page-header{font-size:1.25rem;margin-bottom:.75rem}.search-input{font-size:.875rem;padding:.625rem .875rem}.drag-hint{font-size:.75rem;padding:.5rem}}@media (min-width:769px) and (max-width:1024px){.staff-grid{gap:1.25rem;grid-template-columns:repeat(2,1fr)}.staff-card{padding:1.75rem 1.25rem}.staff-avatar{height:70px;width:70px}.staff-avatar svg{height:35px;width:35px}}.staff-card.dragging{z-index:9999}.auto-scroll-indicator:not(.hidden)~*{scroll-behavior:auto}.staff-card.order-updated{animation:orderUpdateSuccess .6s ease-out}@keyframes orderUpdateSuccess{0%{box-shadow:0 2px 8px #0000001a;transform:scale(1)}50%{border:2px solid #22c55e80;box-shadow:0 8px 25px #22c55e4d;transform:scale(1.05)}to{border:2px solid #0000;box-shadow:0 2px 8px #0000001a;transform:scale(1)}}.staff-card:hover .staff-avatar:before{opacity:1}.staff-name-section{margin-bottom:.75rem;max-width:100%}.name-and-team,.staff-name-section{align-items:center;display:flex;gap:.75rem;justify-content:center}.name-and-team{flex-direction:row}.team-badge{border:none;border-radius:12px;box-shadow:0 2px 4px #00000026;color:#fff;flex-shrink:0;font-size:.7rem;font-weight:600;letter-spacing:.025em;min-width:45px;overflow:hidden;padding:.2rem .6rem;position:relative;text-align:center;transition:all .2s ease}.team-badge:before{background:linear-gradient(90deg,#0000,#ffffff4d,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.team-badge:hover:before{left:100%}.team-badge.no-team{background:#9ca3af;color:#fff;font-style:italic}.team-badge.team-a{background:linear-gradient(135deg,#dc3545,#b02a37);box-shadow:0 2px 6px #dc35454d}.team-badge.team-b{background:linear-gradient(135deg,#198754,#145843);box-shadow:0 2px 6px #1987544d}.team-badge.team-c{background:linear-gradient(135deg,#fd7e14,#e8590c);box-shadow:0 2px 6px #fd7e144d}.team-badge.team-d{background:linear-gradient(135deg,#6f42c1,#5a2d91);box-shadow:0 2px 6px #6f42c14d}.team-badge.team-e{background:linear-gradient(135deg,#feca57,#ffb300);box-shadow:0 2px 6px #feca574d}.team-badge.team-f{background:linear-gradient(135deg,#ff9ff3,#e91e63);box-shadow:0 2px 6px #ff9ff34d}.team-badge.team-g{background:linear-gradient(135deg,#a8e6cf,#8bc34a);box-shadow:0 2px 6px #a8e6cf4d}.team-badge.team-h{background:linear-gradient(135deg,plum,#9c27b0);box-shadow:0 2px 6px #dda0dd4d}.staff-name{color:#1f2937;font-size:1.25rem;font-weight:700;letter-spacing:-.025em;margin:0;text-align:center}.staff-position{color:#6b7280;font-size:.875rem;font-weight:500;margin:0 0 1.5rem;text-align:center}.shift-types-section{align-items:center;box-sizing:border-box;display:flex;flex-direction:column;margin:0 0 1.5rem;padding:0;width:100%}.shift-types-label{color:#6b7280;display:block;font-size:.875rem;font-weight:600;margin-bottom:.75rem;text-align:center}.shift-types-checkboxes{display:flex;gap:.5rem;justify-content:center}.shift-checkbox{cursor:pointer;position:relative}.shift-checkbox input[type=checkbox]{display:none}.shift-checkbox-custom{align-items:center;background:#fff;border:2px solid #e5e7eb;border-radius:50%;box-shadow:0 2px 4px #0000000d;color:#9ca3af;display:inline-flex;font-size:.875rem;font-weight:700;height:44px;justify-content:center;transition:all .2s ease;width:44px}.shift-checkbox input[type=checkbox]:checked+.shift-checkbox-custom{background:#3b82f6;background:var(--shift-color,#3b82f6);border-color:#3b82f6;border-color:var(--shift-color,#3b82f6);box-shadow:0 4px 12px #3b82f64d;box-shadow:0 4px 12px rgba(var(--shift-color-rgb,59,130,246),.3);color:#fff;transform:scale(1.05)}.shift-checkbox:hover .shift-checkbox-custom{background:#3b82f60d;background:rgba(var(--shift-color-rgb,59,130,246),.05);border-color:#3b82f6;border-color:var(--shift-color,#3b82f6);transform:scale(1.02)}.shift-checkbox input[type=checkbox]:disabled+.shift-checkbox-custom{cursor:not-allowed;opacity:.5}.shift-checkbox.checked .shift-checkbox-custom{border-width:3px;box-shadow:0 4px 12px #3b82f666;box-shadow:0 4px 12px rgba(var(--shift-color-rgb,59,130,246),.4)}.shift-checkbox.disabled{cursor:pointer;opacity:.6}.shift-checkbox.disabled .shift-checkbox-custom{background:#f3f4f6;border-color:#d1d5db;box-shadow:none!important;color:#9ca3af;cursor:pointer;transform:none!important}.shift-checkbox.disabled:hover .shift-checkbox-custom{background:#e5e7eb!important;border-color:#d1d5db!important;transform:scale(1.02)!important}.shift-types-note{align-items:center;border:1px solid;border-radius:8px;display:flex;font-style:normal;justify-content:center;margin-top:.75rem;min-height:2rem;padding:.5rem .75rem;transition:all .2s ease}.shift-types-note small{align-items:center;display:flex;font-size:.75rem;font-weight:600;gap:.25rem;line-height:1.3;text-align:center}.exclusive-note.mid-selected{background:linear-gradient(135deg,#fef3c7,#fde68a);border-color:#f59e0b;box-shadow:0 2px 4px #f59e0b1a;color:#92400e}.exclusive-note.regular-selected{background:linear-gradient(135deg,#dbeafe,#bfdbfe);border-color:#3b82f6;box-shadow:0 2px 4px #3b82f61a;color:#1d4ed8}.info-note{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border-color:#0ea5e9;box-shadow:0 2px 4px #0ea5e91a;color:#0c4a6e}.info-note.empty{animation:gently-pulse 2s ease-in-out infinite;background:linear-gradient(135deg,#fef2f2,#fee2e2);border-color:#f87171;box-shadow:0 2px 4px #f871711a;color:#b91c1c}@keyframes gently-pulse{0%,to{opacity:1}50%{opacity:.8}}.night-shift-info{align-items:center;background:#0000;border:none;border-radius:0;box-shadow:none;box-sizing:border-box;display:flex;gap:.5rem;justify-content:center;margin:0 0 1rem;padding:0;width:100%}.night-shift-count{color:#6b7280;font-size:.875rem;font-weight:500;line-height:1.4;text-align:center}.edit-night-btn{align-items:center;background:#0000;border:1px solid #e5e7eb;border-radius:6px;color:#9ca3af;cursor:pointer;display:flex;height:24px;justify-content:center;min-width:24px;padding:.25rem;transition:all .2s ease}.edit-night-btn:hover:not(:disabled){background:#fff;box-shadow:0 2px 8px #8b5cf633;color:#4c1d95;transform:scale(1.05)}.edit-night-btn:disabled{cursor:not-allowed;opacity:.5;transform:none}.edit-name-btn{align-items:center;background:#0000;border:1px solid #e5e7eb;border-radius:6px;color:#9ca3af;cursor:pointer;display:flex;flex-shrink:0;height:24px;justify-content:center;min-width:24px;padding:.25rem;transition:all .2s ease}.edit-name-btn:hover:not(:disabled){background:#fff;border-color:#3b82f6;box-shadow:0 2px 8px #3b82f626;color:#3b82f6;transform:scale(1.05)}.delete-btn{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffe6;border:1px solid #e2e8f0;border-radius:10px;color:#64748b;cursor:pointer;display:flex;height:36px;justify-content:center;min-width:36px;padding:.5rem;transition:all .3s ease}.delete-btn:hover:not(:disabled){background:#fef2f2;border-color:#fecaca;box-shadow:0 4px 12px #dc262626;color:#dc2626;transform:scale(1.05)}.staff-card.inactive-staff{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:2px dashed #cbd5e1;opacity:.8;position:relative}.staff-card.inactive-staff:before{background:linear-gradient(90deg,#94a3b8,#64748b 50%,#475569)}.staff-card.inactive-staff .staff-name{color:#64748b;position:relative}.staff-card.inactive-staff .staff-name:after{background:#94a3b8;border-radius:1px;content:"";height:2px;left:0;position:absolute;right:0;top:50%}.staff-card.inactive-staff .staff-avatar{background:linear-gradient(135deg,#94a3b8,#64748b);opacity:.7}.staff-card.inactive-staff .shift-checkbox-custom{filter:grayscale(.7);opacity:.5}.staff-card.team-a{background:linear-gradient(180deg,#dc354508 0,#fff 20%);border-left:4px solid #dc3545}.staff-card.team-b{background:linear-gradient(180deg,#19875408 0,#fff 20%);border-left:4px solid #198754}.staff-card.team-c{background:linear-gradient(180deg,#fd7e1408 0,#fff 20%);border-left:4px solid #fd7e14}.staff-card.team-d{background:linear-gradient(180deg,#6f42c108 0,#fff 20%);border-left:4px solid #6f42c1}.staff-card.team-e{background:linear-gradient(180deg,#feca5708 0,#fff 20%);border-left:4px solid #feca57}.staff-card.team-f{background:linear-gradient(180deg,#ff9ff308 0,#fff 20%);border-left:4px solid #ff9ff3}.staff-card.team-g{background:linear-gradient(180deg,#a8e6cf08 0,#fff 20%);border-left:4px solid #a8e6cf}.staff-card.team-h{background:linear-gradient(180deg,#dda0dd08 0,#fff 20%);border-left:4px solid plum}.staff-card.team-a .staff-avatar{background:linear-gradient(135deg,#dc3545,#b02a37);box-shadow:0 4px 16px #dc35454d}.staff-card.team-b .staff-avatar{background:linear-gradient(135deg,#198754,#145843);box-shadow:0 4px 16px #1987544d}.staff-card.team-c .staff-avatar{background:linear-gradient(135deg,#fd7e14,#e8590c);box-shadow:0 4px 16px #fd7e144d}.staff-card.team-d .staff-avatar{background:linear-gradient(135deg,#6f42c1,#5a2d91);box-shadow:0 4px 16px #6f42c14d}.staff-card.team-e .staff-avatar{background:linear-gradient(135deg,#feca57,#ffb300);box-shadow:0 4px 16px #feca574d}.staff-card.team-f .staff-avatar{background:linear-gradient(135deg,#ff9ff3,#e91e63);box-shadow:0 4px 16px #ff9ff34d}.staff-card.team-g .staff-avatar{background:linear-gradient(135deg,#a8e6cf,#8bc34a);box-shadow:0 4px 16px #a8e6cf4d}.staff-card.team-h .staff-avatar{background:linear-gradient(135deg,plum,#9c27b0);box-shadow:0 4px 16px #dda0dd4d}@media (max-width:1024px){.shift-checkbox-custom{font-size:.8rem;height:36px;width:36px}.shift-types-note{min-height:1.9rem;padding:.45rem .65rem}.shift-types-note small{font-size:.72rem;gap:.25rem}}@media (max-width:768px){.staff-grid{gap:1rem;grid-template-columns:1fr}.staff-card{padding:1.25rem}.shift-types-checkboxes{gap:.5rem}.shift-checkbox-custom{font-size:.75rem;height:32px;width:32px}.status-container{flex-wrap:nowrap;gap:.5rem;padding:.75rem}.status-label{font-size:.8rem;min-width:45px;white-space:nowrap}.toggle-switch .toggle-slider{height:24px;width:44px}.toggle-switch .toggle-button{height:16px;left:2px;top:2px;width:16px}.toggle-switch.active .toggle-button{transform:translateX(20px)}.drag-scroll-guide{padding:.875rem 1.25rem}.scroll-text{font-size:.9rem}.drag-cancel-hint{font-size:.75rem}.esc-key{font-size:.7rem;padding:1px 5px}.team-badge{font-size:.65rem;min-width:40px;padding:.18rem .5rem}.name-and-team{gap:.6rem}.staff-name{font-size:1.15rem}}@media (max-width:480px){.staff-card{padding:1rem}.shift-types-checkboxes{gap:.4rem}.shift-checkbox-custom{font-size:.7rem;height:28px;width:28px}.status-container{gap:.4rem;padding:.6rem}.status-label{font-size:.75rem;min-width:40px}.toggle-switch .toggle-slider{height:22px;width:40px}.toggle-switch .toggle-button{height:14px;left:2px;top:2px;width:14px}.toggle-switch.active .toggle-button{transform:translateX(18px)}.drag-scroll-guide{border-radius:12px;max-width:90vw;padding:.75rem 1rem}.scroll-indicator{gap:.5rem}.scroll-wheel-icon{font-size:1.2rem}.scroll-text{font-size:.85rem;line-height:1.3}.drag-cancel-hint{font-size:.7rem;margin-top:.2rem}.esc-key{font-size:.65rem;padding:1px 4px}.team-badge{font-size:.6rem;min-width:35px;padding:.15rem .4rem}.name-and-team{flex-wrap:wrap;gap:.5rem;justify-content:center}.staff-name{font-size:1.05rem}}.modal-content{background:var(--card-bg);border-radius:var(--border-radius);box-shadow:var(--shadow-lg);max-height:80vh;padding:2rem}.modal-content h3{color:var(--text-primary);margin-bottom:1.5rem;margin-top:0}.form-group{margin-bottom:1rem}.form-group label{color:var(--text-primary);display:block;font-weight:500;margin-bottom:.5rem}.form-group input{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--border-radius);color:var(--text-primary);font-size:1rem;padding:.75rem;width:100%}.form-group input:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-color-light)}.modal-actions{border-top:1px solid var(--border-color);gap:1rem;margin-top:1.5rem;padding-top:1rem}.night-shift-form .range-info{background:var(--bg-secondary);border-radius:var(--border-radius);margin-top:1rem;padding:1rem}.night-shift-form .range-info p{color:var(--text-secondary);margin:.5rem 0}.night-shift-form .range-info .note{color:var(--text-muted);font-size:.85rem;font-style:italic}.warning-notice{align-items:flex-start;background:#fef3cd;border:1px solid #fecf89;border-radius:var(--border-radius);color:#8a6914;display:flex;gap:.5rem;margin-top:.75rem;padding:.75rem}.warning-icon{font-size:1rem;margin-top:.1rem}.warning-text{font-size:.875rem;font-weight:500;line-height:1.4}.status-container{align-items:center;background:#0000;border:none;border-radius:0;box-shadow:none;box-sizing:border-box;display:flex;gap:.5rem;justify-content:center;margin:0;padding:0;width:100%}.status-label{flex-shrink:0;font-size:.875rem;font-weight:500;letter-spacing:0;min-width:45px;padding:0;text-align:center;transition:all .3s ease}.status-label.active{color:#059669;text-shadow:0 1px 2px #0596691a}.status-label.inactive{color:#dc2626;text-shadow:0 1px 2px #dc26261a}.toggle-switch{display:inline-block;flex-shrink:0;position:relative}.toggle-input{height:0;opacity:0;position:absolute;width:0}.toggle-label{align-items:center;cursor:pointer;display:flex;gap:8px;-webkit-user-select:none;user-select:none}.toggle-switch.disabled .toggle-label{cursor:not-allowed}.toggle-slider{background:#e5e7eb;border:none;border-radius:12px;box-shadow:inset 0 1px 3px #0000001a;height:24px;position:relative;transition:all .3s ease;width:48px}.toggle-slider:before{display:none!important}.toggle-switch.active .toggle-slider{background:#10b981;box-shadow:inset 0 1px 3px #0003}.toggle-button{background:#fff;border-radius:50%;box-shadow:0 1px 3px #0003;height:20px;left:2px;position:absolute;top:2px;transition:all .3s ease;width:20px}.toggle-switch.active .toggle-button{box-shadow:0 1px 3px #0003;transform:translateX(24px)}.toggle-switch input:disabled+.toggle-label .toggle-slider{background:#9ca3af;border-color:#d1d5db;cursor:not-allowed;opacity:.6}.toggle-switch input:disabled+.toggle-label .toggle-button{background:#e5e7eb;box-shadow:0 1px 3px #0000001a}.toggle-switch:hover:not(.disabled) .toggle-slider{transform:scale(1.02)}.toggle-switch:active:not(.disabled) .toggle-slider{transform:scale(.98)}.status-container:has(.toggle-switch.active) .status-label.active{color:#059669;font-weight:700;transform:scale(1.05)}.status-container:has(.toggle-switch:not(.active)) .status-label.inactive{color:#dc2626;font-weight:700;transform:scale(1.05)}.staff-actions{position:absolute;right:1rem;top:1rem;z-index:2}.name-edit-form{margin:1rem 0}.name-edit-form .form-group{margin-bottom:1rem}.name-edit-form input{background:#fff;border:2px solid #e2e8f0;border-radius:8px;color:#1e293b;font-size:1rem;padding:.75rem;transition:border-color .2s ease;width:100%}.name-edit-form input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.single-add-modal{background-color:#1a1a1a!important;border:1px solid #333!important;color:#fff!important;max-height:90vh;max-width:400px;overflow-y:auto;width:90%}.single-add-form{padding:1rem 0}.single-add-form .form-group{margin-bottom:1.5rem}.single-add-form .form-group label{color:#fff!important;display:block;font-weight:600;margin-bottom:.5rem}.single-add-form input[type=number],.single-add-form input[type=text]{background-color:#2a2a2a!important;border:2px solid #444;border-radius:8px;box-sizing:border-box;color:#fff!important;font-size:1rem;padding:.75rem;transition:all .2s ease;width:100%}.single-add-form input[type=number]:focus,.single-add-form input[type=text]:focus{border-color:#fff;box-shadow:0 0 0 3px #fff3;outline:none}.single-add-modal h3{color:#fff!important}.single-add-form input::placeholder{color:#aaa!important}.single-add-form .shift-types-checkboxes{display:flex;flex-direction:column;gap:.75rem;margin-top:.5rem}.single-add-form .shift-checkbox{align-items:center;border-radius:8px;cursor:pointer;display:flex;gap:.75rem;padding:.5rem;transition:background-color .2s ease}.single-add-form .shift-checkbox:hover{background-color:var(--bg-secondary)}.single-add-form .shift-checkbox input[type=checkbox]{height:18px;margin:0;width:18px}.single-add-form .shift-checkbox-custom{background-color:var(--shift-color);border:none;border-radius:6px;color:#fff;flex:1 1;font-size:.875rem;font-weight:500;padding:.5rem 1rem;text-align:center}.night-shift-settings{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;margin-top:1rem;padding:1rem}.night-shift-settings .form-group{margin-bottom:1rem}.night-shift-settings .range-info{background:#fff;border:1px solid var(--border-color);border-radius:6px;margin-top:.5rem;padding:.75rem}.night-shift-settings .range-info p{font-size:.875rem;margin:0 0 .25rem}.night-shift-settings .range-info .note{color:var(--text-muted);font-size:.8rem;font-style:italic}.single-add-form label input[type=checkbox]{margin-right:.5rem}.staff-manager .header-actions .btn-dark{background:#1a1a1a!important;border:2px solid #333!important;color:#fff!important}.staff-manager .header-actions .btn-dark:hover{background:#000!important;box-shadow:0 4px 12px #0000004d!important;color:#fff!important;transform:translateY(-1px)!important}.level-section{align-items:center;display:flex;justify-content:center;margin:0 0 1rem;position:relative}.level-label-text{display:none}.level-dropdown-container{display:inline-block;position:relative}.level-badge{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:none;border-radius:20px;box-shadow:0 2px 8px #00000014,0 1px 4px #0000000a;cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:600;gap:.375rem;justify-content:center;min-width:100px;padding:.5rem 1rem;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.dropdown-arrow{margin-left:.25rem;opacity:.6;transition:transform .3s cubic-bezier(.4,0,.2,1)}.level-dropdown-container:has(.level-dropdown-menu) .dropdown-arrow{opacity:1;transform:rotate(180deg)}.level-badge.level-supervisor{background:linear-gradient(135deg,#f59e0b,#d97706);border:2px solid #f59e0b;box-shadow:0 4px 16px #f59e0b40,0 2px 8px #f59e0b26;color:#fff;font-weight:700;letter-spacing:.025em}.level-badge.level-senior{background:linear-gradient(135deg,#fce7f3,#f9a8d4);box-shadow:0 2px 8px #be185d26,0 1px 4px #be185d14;color:#be185d}.level-badge.level-junior{background:linear-gradient(135deg,#dbeafe,#bfdbfe);box-shadow:0 2px 8px #1d4ed826,0 1px 4px #1d4ed814;color:#1d4ed8}.level-badge.level-general{background:linear-gradient(135deg,#d1fae5,#a7f3d0);box-shadow:0 2px 8px #04785726,0 1px 4px #04785714;color:#047857}.level-badge.level-newbie{background:linear-gradient(135deg,#fef3c7,#fde68a);box-shadow:0 2px 8px #d9770626,0 1px 4px #d9770614;color:#d97706}.level-badge:hover{box-shadow:0 8px 25px #00000026,0 4px 12px #00000014;cursor:pointer;transform:translateY(-2px) scale(1.02)}.level-badge.level-supervisor:hover{background:linear-gradient(135deg,#fbbf24,#f59e0b);box-shadow:0 12px 40px #f59e0b66,0 6px 20px #f59e0b40;transform:translateY(-3px) scale(1.05)}.level-badge:active{transform:translateY(-1px) scale(.98);transition:transform .1s ease}.level-dropdown-menu{animation:dropdownSlideIn .3s ease-out;background:#fff;border:none;border-radius:16px;box-shadow:0 20px 40px #0000001a,0 8px 16px #00000014;max-height:300px;max-width:320px;min-width:280px;overflow-y:auto;position:fixed;z-index:9999}.level-dropdown-menu::-webkit-scrollbar{width:6px}.level-dropdown-menu::-webkit-scrollbar-track{background:#0000}.level-dropdown-menu::-webkit-scrollbar-thumb{background:#e2e8f0;border-radius:3px}.level-dropdown-menu::-webkit-scrollbar-thumb:hover{background:#cbd5e1}@keyframes dropdownSlideIn{0%{opacity:0;transform:translateY(-10px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.level-dropdown-item{align-items:flex-start;border-bottom:1px solid #f1f5f9;cursor:pointer;display:flex;gap:.75rem;padding:1rem 1.25rem;position:relative;transition:all .2s ease}.level-dropdown-item:last-child{border-bottom:none}.level-dropdown-item:before{border-radius:50%;content:"";flex-shrink:0;height:12px;margin-top:2px;width:12px}.level-dropdown-item:hover{background:#f8fafc}.level-dropdown-item.selected{background:#f0f9ff;border-left:4px solid var(--level-color)}.level-dropdown-item .level-content{display:flex;flex:1 1;flex-direction:column;gap:.25rem}.level-dropdown-item .level-label{align-items:center;color:#1f2937;display:flex;font-size:.875rem;font-weight:700;gap:.5rem}.level-dropdown-item .level-desc{color:#6b7280;font-size:.75rem;line-height:1.4}.level-dropdown-item.level-supervisor{--level-color:#f59e0b;background:linear-gradient(135deg,#fffbeb,#fef3c7);border:1px solid #fbbf24}.level-dropdown-item.level-supervisor:before{background:#f59e0b;box-shadow:0 0 8px #f59e0b4d}.level-dropdown-item.level-supervisor:hover{background:linear-gradient(135deg,#fef3c7,#fde68a);border-color:#f59e0b}.level-dropdown-item.level-supervisor.selected{background:linear-gradient(135deg,#fde68a,#fcd34d);border-left-color:#f59e0b;border-left-width:4px}.level-dropdown-item.level-supervisor .level-label{color:#92400e;font-weight:700}.level-dropdown-item.level-supervisor .level-desc{color:#a16207;font-weight:500}.level-dropdown-item.level-senior{--level-color:#be185d}.level-dropdown-item.level-senior:before{background:#be185d}.level-dropdown-item.level-senior:hover{background:#fdf2f8}.level-dropdown-item.level-senior.selected{background:#fce7f3;border-left-color:#be185d}.level-dropdown-item.level-junior{--level-color:#1d4ed8}.level-dropdown-item.level-junior:before{background:#1d4ed8}.level-dropdown-item.level-junior:hover{background:#eff6ff}.level-dropdown-item.level-junior.selected{background:#dbeafe;border-left-color:#1d4ed8}.level-dropdown-item.level-general{--level-color:#047857}.level-dropdown-item.level-general:before{background:#047857}.level-dropdown-item.level-general:hover{background:#f0fdf4}.level-dropdown-item.level-general.selected{background:#d1fae5;border-left-color:#047857}.level-dropdown-item.level-newbie{--level-color:#d97706}.level-dropdown-item.level-newbie:before{background:#d97706}.level-dropdown-item.level-newbie:hover{background:#fffbeb}.level-dropdown-item.level-newbie.selected{background:#fef3c7;border-left-color:#d97706}.edit-level-btn{align-items:center;background:#0000;border:1px solid #e2e8f0;border-radius:6px;color:#64748b;cursor:pointer;display:flex;justify-content:center;padding:.25rem;transition:all .2s ease}.edit-level-btn:hover:not(:disabled){background:#f1f5f9;border-color:#cbd5e1;color:#475569;transform:scale(1.05)}.edit-level-btn:disabled{cursor:not-allowed;opacity:.5}.level-edit-modal{max-width:500px;min-width:400px}.level-edit-form{margin:1.5rem 0}.level-edit-form .form-group{margin-bottom:1.5rem}.level-edit-form label{color:#374151;display:block;font-size:.875rem;font-weight:600;margin-bottom:.5rem}.level-select{background:#fff;border:2px solid #e5e7eb;border-radius:8px;color:#374151;cursor:pointer;font-size:.95rem;padding:.75rem 1rem;transition:all .2s ease;width:100%}.level-select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.level-select:hover{border-color:#d1d5db}.level-select option{background:#fff;color:#374151;padding:.5rem}.level-description-box{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:1px solid #e2e8f0;border-radius:8px;margin-top:1rem;padding:1rem}.level-description-box h4{color:#475569;font-size:.875rem;font-weight:600;margin:0 0 .5rem}.level-description-box p{color:#64748b;font-size:.875rem;line-height:1.5;margin:0}@media (max-width:768px){.level-section{margin:0 0 1rem}.level-badge{font-size:.8rem;padding:.5rem 1rem}.level-dropdown-menu{max-width:300px;min-width:260px}.level-dropdown-item{padding:.875rem 1rem}.level-dropdown-item .level-label{font-size:.8rem}.level-dropdown-item .level-desc{font-size:.7rem}}@media (max-width:480px){.level-section{margin:0 0 1rem}.level-badge{font-size:.75rem;min-width:85px;padding:.4rem .8rem}.level-dropdown-menu{max-width:280px;min-width:240px}.level-dropdown-item{padding:.75rem 1rem}.level-dropdown-item .level-label{font-size:.75rem}.level-dropdown-item .level-desc{font-size:.65rem;line-height:1.3}.shift-types-note{min-height:1.8rem;padding:.4rem .6rem}.shift-types-note small{font-size:.7rem;gap:.2rem}}.readonly-notice{align-items:center;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:1px solid var(--border-color);border-radius:var(--border-radius);color:var(--text-muted);display:flex;font-size:.9rem;font-weight:500;gap:.5rem;padding:.75rem 1rem}.readonly-notice:before{content:"👁️";font-size:1rem}.staff-card.readonly{opacity:.95;-webkit-user-select:none;user-select:none}.staff-card.readonly:hover{box-shadow:var(--shadow-sm)!important;transform:none!important}.level-badge.readonly{cursor:default!important;opacity:.8}.level-badge.readonly:hover{transform:none!important}.shift-checkbox input:disabled+.shift-checkbox-custom,.toggle-input:disabled+.toggle-label{cursor:not-allowed;opacity:.6}.toggle-input:disabled+.toggle-label .toggle-slider{background-color:var(--bg-secondary)}.work-request-manager{background:linear-gradient(135deg,#f5f7fa,#c3cfe2);box-sizing:border-box;font-family:Segoe UI,Roboto,-apple-system,BlinkMacSystemFont,sans-serif;margin:0;max-width:100%;min-height:100vh;padding:12px;width:100%}.mb-4,.warning-alert{margin-bottom:1rem}.warning-alert{animation:slideDown .3s ease-out;border-radius:8px;box-shadow:0 2px 8px #0000001a}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.page-header{gap:2rem;margin-bottom:2rem}.header-content{flex:1 1}.header-actions{gap:.5rem}.header-actions,.month-info{align-items:flex-end;flex-direction:column}.month-info{display:flex;gap:.25rem}.month-label{color:var(--primary-600);font-size:1.1rem;font-weight:600}.requests-count{background:var(--bg-muted);border-radius:4px;color:var(--text-muted);font-size:.9rem;padding:.25rem .5rem}.page-header h1{font-size:22px;margin-bottom:6px;text-shadow:0 2px 4px #0000001a}.page-header p{font-size:14px;font-weight:400;margin:0;opacity:.9}.staff-selector{background:#fff;border:1px solid #0000000f;border-radius:12px;box-shadow:0 4px 20px #00000014;margin-bottom:0;padding:16px}.staff-selector h3{align-items:center;color:#2d3748;display:flex;font-size:16px;font-weight:600;gap:6px;margin-bottom:12px}.staff-selector h3:before{content:"👩‍⚕️";font-size:24px}.staff-buttons{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));max-width:100%}.staff-button{align-items:center;background:linear-gradient(135deg,#f8fafc,#e2e8f0);border:2px solid #e2e8f0;border-radius:8px;color:#4a5568;cursor:pointer;display:flex;flex-direction:column;font-size:13px;font-weight:600;justify-content:center;line-height:1.2;min-height:60px;overflow:hidden;padding:10px 12px;position:relative;text-align:center;transition:all .3s cubic-bezier(.4,0,.2,1)}.staff-button small{font-size:10px;font-weight:400;margin-top:2px;opacity:.7}.staff-button:hover:not(:disabled){background:linear-gradient(135deg,#e6fffa,#b2f5ea);border-color:#38b2ac;box-shadow:0 8px 25px #38b2ac40;transform:translateY(-2px)}.staff-button.active{background:linear-gradient(135deg,#38b2ac,#319795);border-color:#319795;box-shadow:0 8px 25px #38b2ac66;color:#fff}.staff-button.active small{color:#ffffffe6;opacity:.9}.staff-button:disabled{opacity:.5;transform:none}.form-instructions{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:1px solid #bae6fd;border-radius:8px;font-size:13px;line-height:1.4;margin-top:12px;padding:12px}.form-instructions p{margin:4px 0}.form-instructions strong{color:#0369a1;font-weight:600}.form-group select option:disabled{color:#ccc!important;font-style:italic}.form-group select option[disabled]{background-color:#f5f5f5}.main-content{grid-gap:16px;align-items:start;display:grid;gap:16px;grid-template-columns:1fr 350px;height:auto}.calendar-section{background:#fff;border:1px solid #0000000f;border-radius:12px;box-shadow:0 10px 40px #0000001a;display:flex;flex-direction:column;height:auto;padding:16px}.calendar-header{align-items:center;background:linear-gradient(135deg,#f8fafc,#e2e8f0);border-bottom:none;border-radius:8px;display:flex;flex-shrink:0;justify-content:space-between;margin-bottom:12px;padding:10px 16px}.calendar-header h3{align-items:center;color:#2d3748;display:flex;font-size:18px;font-weight:700;gap:6px;margin:0}.calendar-header h3:before{content:"📅";font-size:28px}.nav-button{background:linear-gradient(135deg,#4299e1,#3182ce);border:none;border-radius:6px;box-shadow:0 4px 12px #4299e14d;color:#fff;cursor:pointer;font-size:14px;font-weight:700;padding:6px 10px;transition:all .3s ease}.nav-button:hover{background:linear-gradient(135deg,#3182ce,#2c5282);box-shadow:0 6px 20px #4299e166;transform:translateY(-2px)}.calendar-grid{border:none;border-radius:10px;box-shadow:0 4px 16px #00000014;display:flex;flex:1 1;flex-direction:column;overflow:hidden}.day-headers{grid-gap:0;background:#0000;border:1px solid #e2e8f0;border-bottom:none;border-radius:0;display:grid;gap:0;grid-template-columns:repeat(7,1fr);padding:0}.day-header{-webkit-backdrop-filter:none;backdrop-filter:none;background:#f8fafc;border-radius:0;border-right:1px solid #e2e8f0;box-shadow:none;color:#2d3748;font-size:14px;font-weight:600;letter-spacing:0;overflow:visible;padding:12px 8px;position:relative;text-align:center;transition:none}.day-header:before,.day-header:hover:before{display:none}.day-header:hover{box-shadow:none;transform:none}.day-header:last-child{border-right:none}.day-header.weekday-header{background:#4a5568;border:none;border-right:1px solid #e2e8f0;color:#fff;font-weight:600;text-shadow:none}.day-header.weekday-header:after{display:none}.day-header.weekday-header:hover{background:#4a5568;border-color:#e2e8f0}.day-header.weekday-header:last-child{border-right:none}.day-header.saturday-header{background:#4a5568;border:none;border-right:1px solid #e2e8f0;color:#fff;font-weight:600;text-shadow:none}.day-header.saturday-header:after{display:none}.day-header.saturday-header:hover{background:#4a5568;transform:none}.day-header.sunday-header{background:#4a5568;border:none;border-right:1px solid #e2e8f0;color:#fff;font-weight:600;text-shadow:none}.day-header.sunday-header:after{display:none}.day-header.sunday-header:hover{background:#4a5568;transform:none}.calendar-body{border:1px solid #e2e8f0;border-radius:0;border-top:none;box-shadow:none;display:grid;flex:1 1;grid-template-columns:repeat(7,1fr);overflow:visible}.calendar-day{background:#fff;border-bottom:1px solid #e2e8f0;border-right:1px solid #e2e8f0;min-height:45px;padding:4px;transition:all .3s cubic-bezier(.4,0,.2,1)}.calendar-day:nth-child(7n){border-right:none}.calendar-day.other-month{background:#f8fafc;color:#a0aec0}.calendar-day.clickable{cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1)}.calendar-day.clickable:hover{background:linear-gradient(135deg,#e6fffa,#b2f5ea);border-color:#38b2ac;border-radius:8px;box-shadow:0 4px 12px #38b2ac33;transform:scale(1.02);z-index:1}.date-number{color:#2d3748;flex-shrink:0;font-size:12px;font-weight:700;margin-bottom:2px}.date-number.saturday-number{color:#1565c0;font-weight:700}.date-number.holiday-number{color:#dc2626;font-weight:700}.request-indicators{display:flex;flex-wrap:wrap;gap:2px;justify-content:flex-end;position:absolute;right:4px;top:4px}.request-indicator{align-items:center;background:#0000;border:none;border-radius:3px;color:#000;display:flex;font-size:14px;font-weight:800;height:25px;justify-content:center;padding:2px 4px;position:relative;text-shadow:0 0 3px #fffc;width:25px;z-index:10}.request-indicator.day{background:linear-gradient(135deg,#fef08a,#fde047);border-color:#eab308;color:#000}.request-indicator.evening{background:linear-gradient(135deg,#fed7aa,#fb923c);border-color:#ea580c;color:#000}.request-indicator.night{background:linear-gradient(135deg,#a5b4fc,#818cf8);border-color:#4f46e5;color:#000}.request-indicator.mid{background:linear-gradient(135deg,#bbf7d0,#6ee7b7);border-color:#10b981;color:#000}.request-indicator.holiday{background:linear-gradient(135deg,#bbf7d0,#86efac);border-color:#16a34a;color:#000}.status-section{background:#fff;border:1px solid #0000000f;border-radius:12px;box-shadow:0 10px 40px #0000001a;display:flex;flex:1 1;flex-direction:column;overflow:hidden;padding:16px}.status-section h4{align-items:center;border-bottom:2px solid #f7fafc;color:#2d3748;display:flex;flex-shrink:0;font-size:15px;font-weight:700;gap:6px;margin:0 0 10px;padding-bottom:6px}.status-section h4:before{content:"📊";font-size:24px}.status-section h5{align-items:center;color:#4a5568;display:flex;flex-shrink:0;font-size:13px;font-weight:600;gap:4px;margin:12px 0 8px}.status-section h5:before{content:"📋";font-size:18px}.current-selection{background:linear-gradient(135deg,#f7fafc,#edf2f7);border-left:4px solid #38b2ac;border-radius:8px;flex-shrink:0;margin-bottom:12px;padding:12px}.current-selection p{color:#4a5568;font-size:12px;line-height:1.3;margin:4px 0}.current-selection strong{color:#2d3748;font-weight:600}.request-list{flex:1 1;overflow-y:auto;padding-right:4px}.request-item{align-items:center;background:linear-gradient(135deg,#f8fafc,#e2e8f0);border:1px solid #e2e8f0;border-radius:6px;display:flex;justify-content:space-between;margin-bottom:6px;padding:10px;transition:all .3s ease}.request-item:hover{background:linear-gradient(135deg,#e6fffa,#b2f5ea);border-color:#38b2ac;box-shadow:0 4px 12px #38b2ac26;transform:translateX(4px)}.request-info{display:flex;flex-direction:column;gap:2px}.request-type{color:#2d3748;font-size:12px;font-weight:600}.request-date{color:#4a5568;font-size:11px}.shift-type{background:linear-gradient(135deg,#38b2ac,#319795);border-radius:4px;color:#fff;font-size:10px;font-weight:600;padding:1px 6px;width:fit-content}.delete-button{background:linear-gradient(135deg,#f56565,#e53e3e);border:none;border-radius:6px;box-shadow:0 2px 6px #f565654d;color:#fff;cursor:pointer;font-size:11px;font-weight:600;padding:6px 10px;transition:all .3s ease}.delete-button:hover{background:linear-gradient(135deg,#e53e3e,#c53030);box-shadow:0 4px 12px #f5656566;transform:translateY(-1px)}.request-form-section{background:#fff;border:1px solid #0000000f;border-radius:12px;box-shadow:0 10px 40px #0000001a;margin-bottom:0;padding:16px}.request-form-section h3{align-items:center;border-bottom:2px solid #f7fafc;color:#2d3748;display:flex;font-size:16px;font-weight:700;gap:6px;margin:0 0 12px;padding-bottom:8px}.request-form-section h3:before{content:"✏️";font-size:24px}.request-form{background:linear-gradient(135deg,#f7fafc,#edf2f7);border:1px solid #e2e8f0;border-radius:16px;padding:24px}.form-row{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin-bottom:10px}.form-group label{align-items:center;display:flex;font-size:13px;gap:4px}.form-group input,.form-group select{background:#fff;border:2px solid #e2e8f0;border-radius:8px;color:#2d3748;font-size:13px;padding:8px 12px;transition:all .3s ease}.form-group input:focus,.form-group select:focus{background:#fefffe;border-color:#38b2ac;box-shadow:0 0 0 3px #38b2ac1a;outline:none}.form-instruction{background:linear-gradient(135deg,#bee3f8,#90cdf4);border-left:4px solid #4299e1;border-radius:8px;padding:8px 12px}.form-instruction p{align-items:center;color:#2c5282;display:flex;font-size:12px;font-weight:500;gap:6px;margin:0}@media (max-width:1600px){.main-content{gap:20px;grid-template-columns:1fr 380px}}@media (max-width:1400px){.main-content{gap:18px;grid-template-columns:1fr 340px}.control-panel{gap:16px;grid-template-columns:1fr}.calendar-day{min-height:40px;padding:4px}.date-number{font-size:12px;margin-bottom:2px}}@media (max-width:1200px){.main-content{gap:20px;grid-template-columns:1fr;height:auto}.calendar-section{height:auto}.calendar-day{min-height:35px;padding:4px}.side-panel{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr;height:auto}}@media (max-width:1024px){.control-panel,.form-row{grid-template-columns:1fr}.form-row{gap:12px}.side-panel{grid-template-columns:1fr}}@media (max-width:768px){.work-request-manager{padding:12px}.control-panel{gap:12px}.main-content{gap:16px}.page-header{align-items:stretch;flex-direction:column;gap:1rem}.header-actions{align-items:center;flex-direction:row;justify-content:space-between}.month-info{align-items:flex-start}.schedule-creation-btn{font-size:.9rem;padding:.6rem 1.2rem}.section-header{align-items:flex-start;flex-direction:column;gap:.5rem}.schedule-btn-small{align-self:flex-end}.calendar-day{min-height:35px;padding:4px}.date-number{font-size:11px;margin-bottom:2px}.calendar-section,.request-form-section,.staff-selector,.stats-section,.status-section{padding:16px}.calendar-header{margin-bottom:16px;padding:12px 16px}.calendar-header h3{font-size:18px}.day-header{font-size:12px;padding:8px}.stats-grid{gap:8px;grid-template-columns:1fr 1fr}.stat-card{padding:12px}.stat-number{font-size:18px}.staff-buttons{gap:8px;grid-template-columns:repeat(auto-fit,minmax(90px,1fr))}.staff-button{font-size:13px;padding:10px 12px}.nav-button{font-size:14px;padding:8px 12px}.request-indicator{font-size:10px;height:auto;padding:1px 2px;width:auto}.side-panel{gap:16px;grid-template-columns:1fr}.toast{left:12px;max-width:none;min-width:auto;right:12px;top:12px;z-index:1100}.loading-spinner{margin:0 16px;padding:24px}}.request-list::-webkit-scrollbar{width:6px}.request-list::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.request-list::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#38b2ac,#319795);border-radius:3px}.request-list::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#319795,#2c7a7b)}.calendar-day.clickable:after{background:linear-gradient(135deg,#38b2ac1a,#3197951a);border-radius:4px;bottom:0;content:"";left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s ease}.calendar-day.clickable:hover:after{opacity:1}.staff-button:disabled{cursor:not-allowed;opacity:.6;transform:none!important}.staff-button:disabled:hover{background:linear-gradient(135deg,#f8fafc,#e2e8f0);border-color:#e2e8f0;box-shadow:none}.nav-button:disabled{cursor:not-allowed;opacity:.6;transform:none!important}.nav-button:disabled:hover{background:linear-gradient(135deg,#4299e1,#3182ce);box-shadow:0 4px 12px #4299e14d}.form-group input:disabled,.form-group select:disabled{background:#f8fafc;cursor:not-allowed;opacity:.7}.delete-button:disabled{cursor:not-allowed;opacity:.6;transform:none!important}.delete-button:disabled:hover{background:linear-gradient(135deg,#f56565,#e53e3e);box-shadow:0 2px 6px #f565654d}.calendar-day.clickable.loading{cursor:not-allowed;opacity:.7}.calendar-day.clickable.loading:hover{background:#fff;border-color:#e2e8f0;box-shadow:none;transform:none}.calendar-day.clickable.loading:hover:after{opacity:0}@media (max-width:768px){.toast{left:12px;max-width:none;min-width:auto;right:12px;top:12px;z-index:1100}.loading-spinner{margin:0 16px;padding:24px}}.control-panel{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr;margin-bottom:16px}.side-panel{display:flex;flex-direction:column;gap:12px;height:100%}.stats-section{background:#fff;border:1px solid #0000000f;border-radius:12px;box-shadow:0 10px 40px #0000001a;flex-shrink:0;padding:16px}.stats-section h4{align-items:center;border-bottom:2px solid #f7fafc;color:#2d3748;display:flex;font-size:15px;font-weight:700;gap:6px;margin:0 0 10px;padding-bottom:6px}.stats-section h4:before{content:"📈";font-size:20px}.stats-grid{grid-gap:10px;gap:10px;grid-template-columns:1fr 1fr;margin-top:10px}.stat-card{background:linear-gradient(135deg,#f7fafc,#edf2f7);border-left:4px solid #38b2ac;border-radius:8px;padding:10px;text-align:center}.stat-number{color:#38b2ac;font-size:18px;font-weight:700;margin-bottom:2px}.stat-label{color:#4a5568;font-size:10px}.calendar-day.saturday{background:#e8f4fd}.calendar-day.saturday:hover{background:linear-gradient(135deg,#d1e9fb,#b8dff9)}.calendar-day.sunday{background:#fef1f1}.calendar-day.sunday:hover{background:linear-gradient(135deg,#fde8e8,#fcd5d5)}.holiday-name{color:#333;font-size:15px;font-weight:700;line-height:1.1;margin-top:2px;max-width:100%;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap;word-break:keep-all}.schedule-creation-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;box-shadow:0 4px 12px #667eea4d;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:.75rem 1.5rem;transition:all .3s ease}.schedule-creation-btn:hover:not(:disabled){box-shadow:0 6px 20px #667eea66;transform:translateY(-2px)}.schedule-creation-btn:disabled{box-shadow:0 2px 8px #667eea33;cursor:not-allowed;opacity:.6;transform:none}.schedule-btn-small{background:var(--primary-500);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.85rem;font-weight:500;padding:.5rem .75rem;transition:all .2s ease}.schedule-btn-small:hover:not(:disabled){background:var(--primary-600);transform:translateY(-1px)}.schedule-btn-small:disabled{cursor:not-allowed;opacity:.6;transform:none}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.75rem}.section-header h5{color:var(--text-primary);font-size:1rem;font-weight:600;margin:0}.empty-requests{background:var(--bg-muted);border:2px dashed var(--border-color);border-radius:8px;color:var(--text-muted);padding:2rem 1rem;text-align:center}.empty-requests p{font-size:1rem;margin:0 0 .5rem}.empty-requests small{font-size:.85rem;opacity:.8}@media (max-width:768px){.page-header{align-items:stretch;flex-direction:column;gap:1rem}.header-actions{align-items:center;flex-direction:row;justify-content:space-between}.month-info{align-items:flex-start}.schedule-creation-btn{font-size:.9rem;padding:.6rem 1.2rem}.section-header{align-items:flex-start;flex-direction:column;gap:.5rem}.schedule-btn-small{align-self:flex-end}}.toast{animation:slideInRight .3s ease-out;border-radius:8px;box-shadow:0 4px 12px #00000026;color:#fff;font-weight:500;padding:1rem 1.5rem;position:fixed;right:2rem;top:2rem;z-index:1100}.toast-success{background:linear-gradient(135deg,#10b981,#059669)}.toast-error{background:linear-gradient(135deg,#ef4444,#dc2626)}.toast-warning{background:linear-gradient(135deg,#f59e0b,#d97706)}.toast-info{background:linear-gradient(135deg,#3b82f6,#2563eb)}.toast-content{align-items:center;display:flex;gap:.5rem}.toast-icon{font-size:1.2rem}.toast-message{font-size:.95rem}@keyframes slideInRight{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}.calendar-cell.disabled{cursor:not-allowed;opacity:.5;position:relative}.calendar-cell.clickable{cursor:pointer}.calendar-cell.clickable:hover{background:#38b2ac1a;box-shadow:0 2px 8px #38b2ac33;transform:scale(1.02)}.disabled-overlay{background:#0009;border-radius:6px;color:#fff;font-size:10px;font-weight:600;line-height:1.1;padding:2px;position:absolute;text-align:center;z-index:2}.disabled-overlay,.modal-overlay{align-items:center;bottom:0;display:flex;justify-content:center;left:0;right:0;top:0}.modal-overlay{background:#00000080;padding:20px;position:fixed;z-index:1000}.modal{animation:modalFadeIn .3s ease-out;background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;max-height:80vh;max-width:600px;overflow-y:auto;width:100%}@keyframes modalFadeIn{0%{opacity:0;transform:scale(.9) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.warning-modal{max-width:600px;width:90%}.modal-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:20px 24px 16px}.modal-header h3{color:#1f2937;font-size:18px;font-weight:600}.modal-close{background:none;border:none;border-radius:4px;color:#6b7280;cursor:pointer;font-size:24px;line-height:1;padding:4px;transition:all .2s ease}.modal-close:hover{background:#f3f4f6;color:#374151}.modal-body{padding:20px 24px}.modal-footer{border-top:1px solid #e5e7eb;display:flex;gap:12px;justify-content:flex-end;padding:16px 24px 20px}.warning-messages{margin-bottom:20px}.warning-item{align-items:flex-start;background:#f9fafb;border-left:4px solid;border-radius:8px;display:flex;gap:12px;margin-bottom:12px;padding:14px 16px}.warning-item:last-child{margin-bottom:0}.warning-item.warning-error{background-color:#fef2f2;border-left-color:#ef4444;color:#991b1b}.warning-item.warning-warning{background-color:#fffbeb;border-left-color:#f59e0b;color:#92400e}.warning-item.warning-info{background-color:#eff6ff;border-left-color:#3b82f6;color:#1e40af}.warning-icon{font-size:18px;margin-top:1px}.warning-text{flex:1 1;font-size:14px;line-height:1.5}.error-explanation{background-color:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin-top:16px;padding:16px}.error-explanation p{color:#991b1b;font-size:14px;line-height:1.5;margin:0 0 8px}.error-explanation p:last-child{margin-bottom:0}.btn{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:600;min-width:80px;padding:10px 20px;transition:all .2s ease}.btn-primary{background-color:#3b82f6;color:#fff}.btn-primary:hover{background-color:#2563eb}.btn-primary:disabled{background-color:#9ca3af;cursor:not-allowed}.btn-warning{background-color:#f59e0b;color:#fff}.btn-warning:hover{background-color:#d97706}.btn-warning:disabled{background-color:#9ca3af;cursor:not-allowed}.btn-secondary{background-color:#6b7280;color:#fff}.btn-secondary:hover{background-color:#4b5563}@media (max-width:768px){.modal{margin:10px;max-width:calc(100vw - 20px)}.modal-body,.modal-footer,.modal-header{padding-left:16px;padding-right:16px}.modal-footer{flex-direction:column-reverse}.btn{width:100%}}.schedule-detail-viewer-page{margin:0 auto;max-width:1400px;padding:20px}.page-header{align-items:flex-start;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:16px;box-shadow:0 8px 32px #667eea4d;color:#fff;display:flex;justify-content:space-between;margin-bottom:30px;padding:24px}.header-content h1{align-items:center;display:flex;font-size:2.2rem;font-weight:700;gap:12px;margin:0 0 8px}.header-content p{font-size:1.1rem;margin:0;opacity:.9}.header-actions{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.header-actions .btn{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff26;border:1px solid #fff3;color:#fff}.header-actions .btn:hover{background:#ffffff40;box-shadow:0 4px 16px #0000001a;transform:translateY(-2px)}.view-toggle{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:8px;display:flex;gap:0;overflow:hidden}.view-toggle .btn{border:none!important;border-radius:0!important;margin:0!important;position:relative}.view-toggle .btn:first-child{border-right:1px solid #e2e8f0}.view-toggle .btn.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;z-index:1}.view-toggle .btn.btn-outline{background:#fff;color:#64748b}.view-toggle .btn:hover{background:#f8fafc}.view-toggle .btn.btn-primary:hover{background:linear-gradient(135deg,#5a67d8,#6b46c1)}.schedule-selector{padding:0}.selector-row{align-items:end;display:flex;flex-wrap:wrap;gap:20px;margin-bottom:30px}.selector-group{display:flex;flex-direction:column;gap:8px;min-width:120px}.selector-group label{color:var(--text-color);font-size:.9rem;font-weight:600}.selector-group select{background:var(--bg-color);border:2px solid var(--border-color);border-radius:8px;color:var(--text-color);font-size:1rem;padding:12px 16px;transition:all .3s ease}.selector-group select:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #667eea1a;outline:none}.selector-actions{align-items:end;display:flex}.available-schedules{border-top:2px solid var(--border-color);margin-top:20px;padding-top:20px}.available-schedules h4{color:var(--text-color);font-size:1.2rem;font-weight:600;margin:0 0 16px}.schedule-chips{display:flex;flex-wrap:wrap;gap:12px}.schedule-chip{align-items:center;background:var(--card-bg);border:2px solid var(--border-color);border-radius:12px;color:var(--text-color);cursor:pointer;display:flex;flex-direction:column;font-weight:600;gap:4px;padding:12px 16px;transition:all .3s ease}.schedule-chip:hover{border-color:var(--primary-color);box-shadow:0 8px 25px #667eea26;transform:translateY(-2px)}.schedule-chip.selected{background:var(--primary-color);border-color:var(--primary-color);color:#111010}.schedule-info{font-size:.8rem;font-weight:400;opacity:.8}.no-schedules-notice{background:#fef3c7;border:2px solid #f59e0b;border-radius:12px;color:#d97706;padding:20px;text-align:center}.schedule-calendar-container{width:100%}.calendar-grid{margin-bottom:30px}.calendar-weekdays{grid-gap:1px;background:var(--border-color);display:grid;gap:1px;grid-template-columns:repeat(7,1fr);margin-bottom:1px}.weekday-header{background:var(--card-bg);border:1px solid var(--border-color);color:var(--text-color);font-size:.9rem;font-weight:600;padding:12px 8px;text-align:center}.weekday-header.weekend-header{background:#fee2e2;color:#dc2626}.weekday-header.saturday-header{background:#dbeafe;color:#1565c0}.weekday-header.sunday-header{background:#fee2e2;color:#dc2626}.calendar-days{grid-gap:1px;background:var(--border-color);display:grid;gap:1px;grid-template-columns:repeat(7,1fr)}.calendar-day{background:var(--card-bg);border:1px solid var(--border-color);display:flex;flex-direction:column;min-height:120px;padding:8px;position:relative}.calendar-day.empty{background:#f8f9fa;opacity:.3}.calendar-day.weekend{background:#fef2f2}.calendar-day.saturday{background:#f0f8ff}.calendar-day.saturday.has-schedule{background:#e6f3ff}.calendar-day.holiday{background:#fff5f5}.calendar-day.holiday.has-schedule{background:#ffe6e6}.calendar-day.has-schedule{background:#f0f9ff}.calendar-day.weekend.has-schedule{background:#fef2f2}.day-number{align-self:flex-start;color:var(--text-color);font-size:.9rem;font-weight:600;margin-bottom:4px}.calendar-day.weekend .day-number{color:#dc2626}.day-number.saturday-number{color:#1565c0;font-weight:700}.day-number.holiday-number{color:#dc2626;font-weight:700}.day-schedule{flex:1 1;overflow:hidden}.day-schedule,.schedule-items{display:flex;flex-direction:column;gap:2px}.schedule-item{align-items:center;border-radius:4px;display:flex;font-size:.75rem;gap:4px;justify-content:space-between;line-height:1.2;padding:2px 4px}.staff-name{flex:1 1;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shift-symbol{border-radius:3px;font-size:.7rem;font-weight:600;min-width:18px;padding:1px 4px;text-align:center}.schedule-item.day-item{background-color:#fff2cc;border-left:4px solid orange}.day-symbol{background-color:orange;border-radius:12px;color:#fff;font-size:.8em;font-weight:700;margin-right:8px;padding:2px 6px}.schedule-item.evening-item{background-color:#cce5ff;border-left:4px solid #007bff}.evening-symbol{background-color:#007bff;border-radius:12px;color:#fff;font-size:.8em;font-weight:700;margin-right:8px;padding:2px 6px}.schedule-item.night-item{background-color:#e8f5e8;border-left:4px solid #28a745}.night-symbol{background-color:#28a745;border-radius:12px;color:#fff;font-size:.8em;font-weight:700;margin-right:8px;padding:2px 6px}.schedule-item.mid-item{background-color:#ecfdf5;border-left:4px solid #10b981}.mid-symbol{background-color:#10b981;border-radius:12px;color:#fff;font-size:.8em;font-weight:700;margin-right:8px;padding:2px 6px}.schedule-item.off-item{background:#f3f4f6;color:#6b7280}.off-symbol{background:#9ca3af;color:#fff}.no-schedule{color:var(--text-muted);font-size:.8rem;margin-top:20px;text-align:center}.calendar-legend{background:var(--card-bg);border:2px solid var(--border-color);border-radius:12px;margin-top:20px;padding:20px}.calendar-legend h4{color:var(--text-color);font-size:1.1rem;font-weight:600;margin:0 0 16px}.legend-items{display:flex;flex-wrap:wrap;gap:24px}.legend-item{gap:8px}.legend-symbol{border-radius:4px;font-size:.7rem;font-weight:600;min-width:24px;padding:4px 8px;text-align:center}.legend-label{color:var(--text-color);font-size:.9rem}.schedule-statistics-container{display:flex;flex-direction:column;gap:30px;margin-top:30px}.stats-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));margin-bottom:20px}.stat-item{border:1px solid var(--border-color);border-radius:8px;padding:16px;text-align:center}.stat-label{color:var(--text-muted);font-size:.9rem;font-weight:500;margin-bottom:8px}.stat-value{font-size:1.8rem;font-weight:700}.day-stat{background:#dbeafe;color:#3b82f6}.evening-stat{background:#fef3c7;color:#f59e0b}.night-stat{background:#f3f4f6;color:#6b7280}.off-stat{background:#f9fafb;color:#9ca3af}.total-stats{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px;color:#fff;padding:20px;text-align:center}.total-label{font-size:1rem;margin-bottom:8px;opacity:.9}.total-value{font-size:2.2rem;font-weight:700}.staff-stats-table{width:100%}.table-header{grid-gap:12px;background:var(--primary-color);border-radius:8px 8px 0 0;color:#fff;display:grid;font-weight:600;gap:12px;grid-template-columns:2fr 1fr 1fr 1fr 1fr 1fr;padding:16px}.table-body{border:2px solid var(--border-color);border-radius:0 0 8px 8px;border-top:none;display:flex;flex-direction:column;overflow:hidden}.staff-stats-row{grid-gap:12px;border-bottom:1px solid var(--border-color);display:grid;gap:12px;grid-template-columns:2fr 1fr 1fr 1fr 1fr 1fr;padding:12px 16px;transition:background-color .2s ease}.staff-stats-row:hover{background:#667eea0d}.staff-stats-row:last-child{border-bottom:none}.staff-name-cell{color:var(--text-color);font-weight:600}.shift-cell{font-weight:500;text-align:center}.day-cell{color:#3b82f6}.evening-cell{color:#f59e0b}.night-cell{color:#6b7280}.mid-cell{color:#10b981}.off-cell{color:#9ca3af}.total-cell{color:var(--primary-color);font-weight:700;text-align:center}.dayofweek-stats{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.dayofweek-stat{background:var(--card-bg);border:2px solid var(--border-color);border-radius:12px;padding:16px;text-align:center;transition:all .3s ease}.dayofweek-stat:hover{box-shadow:0 8px 25px #0000001a;transform:translateY(-2px)}.dayofweek-stat.weekend{background:#fef2f2}.dayofweek-name{color:var(--text-color);font-size:1.1rem;font-weight:600;margin-bottom:12px}.dayofweek-stat.weekend .dayofweek-name{color:#dc2626}.dayofweek-details{display:flex;justify-content:space-around;margin-bottom:12px}.dayofweek-shift{font-size:.9rem;font-weight:500}.dayofweek-shift.day{color:#3b82f6}.dayofweek-shift.evening{color:#f59e0b}.dayofweek-shift.night{color:#6b7280}.dayofweek-total{color:var(--primary-color);font-size:1.2rem;font-weight:700}.empty-state{color:var(--text-muted);padding:60px 20px}.empty-icon{font-size:4rem;margin-bottom:20px;opacity:.6}.empty-state h3{color:var(--text-color);font-size:1.4rem;margin:0 0 12px}.empty-state p{font-size:1.1rem;margin:0 0 24px}@media (max-width:768px){.schedule-detail-viewer-page{padding:15px}.page-header{align-items:stretch;flex-direction:column;gap:20px}.header-content h1{font-size:1.8rem}.selector-row{flex-direction:column;gap:16px}.selector-group{min-width:100%}.schedule-chips{flex-direction:column}.schedule-chip{width:100%}.calendar-days{gap:0}.calendar-day{min-height:100px;padding:6px}.schedule-item{font-size:.7rem}.staff-name{font-size:.65rem}.shift-symbol{font-size:.6rem;min-width:16px;padding:1px 3px}.stats-grid{gap:16px;grid-template-columns:repeat(2,1fr)}.staff-stats-row,.table-header{font-size:.9rem;grid-template-columns:2fr repeat(6,1fr)}.dayofweek-stats{grid-template-columns:1fr}.legend-items{flex-direction:column;gap:12px}.header-actions{gap:8px}.view-toggle .btn{font-size:12px;padding:6px 12px}}@media (max-width:480px){.calendar-day{min-height:80px;padding:4px}.day-number{font-size:.8rem}.schedule-item{font-size:.65rem;padding:1px 3px}.staff-name{font-size:.6rem}.shift-symbol{font-size:.55rem;min-width:14px}.stats-grid{grid-template-columns:1fr}.staff-stats-row,.table-header{grid-template-columns:1fr;text-align:left}.staff-stats-row>div:before,.table-header>div:before{content:attr(data-label);display:inline-block;font-weight:600;width:60px}.header-actions{align-items:stretch;flex-direction:column;gap:8px}.view-toggle{justify-content:center;order:-1}}.modal-backdrop{align-items:center;animation:fadeIn .2s ease-out;background-color:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{animation:slideIn .3s ease-out;background:#fff;border-radius:12px;box-shadow:0 25px 50px #00000040;max-height:90vh;max-width:500px;overflow-y:auto;width:90%}@keyframes slideIn{0%{opacity:0;transform:translateY(-50px)}to{opacity:1;transform:translateY(0)}}.modal-header{border-bottom:1px solid #e2e8f0;margin-bottom:20px;padding:24px 24px 0}.modal-header h3{align-items:center;color:#1e293b;display:flex;font-size:1.5rem;font-weight:700;gap:8px;margin:0}.modal-body{padding:0 24px 20px}.modal-body p{color:#475569;font-size:1rem;line-height:1.6;margin:0 0 12px}.modal-body strong{color:#1e293b;font-weight:600}.modal-actions{border-top:1px solid #e2e8f0;display:flex;gap:12px;justify-content:flex-end;padding:20px 24px 24px}.modal-actions .btn{font-weight:600;min-width:80px}.team-based-scheduling .team-a-background{background:linear-gradient(135deg,#fff5f5,#ffe6e6);border-left:4px solid #dc3545;color:#721c24;font-weight:600}.team-based-scheduling .team-b-background{background:linear-gradient(135deg,#f0fff4,#d4f8e8);border-left:4px solid #198754;color:#0f5132;font-weight:600}.team-based-scheduling .team-c-background{background:linear-gradient(135deg,#fff8f0,#ffeaa7);border-left:4px solid #fd7e14;color:#653208;font-weight:600}.team-based-scheduling .team-d-background{background:linear-gradient(135deg,#f8f5ff,#e8d5ff);border-left:4px solid #6f42c1;color:#432874;font-weight:600}@media (max-width:768px){.modal-content{margin:20px;width:calc(100% - 40px)}.modal-header{padding:20px 20px 0}.modal-body{padding:0 20px 16px}.modal-actions{flex-direction:column-reverse;padding:16px 20px 20px}.modal-actions .btn{margin-left:0!important;width:100%}}.preceptorship-brief{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:2px solid #dee2e6;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin:16px 0;padding:16px 20px}.brief-title{align-items:center;color:#495057;display:flex;font-size:1.1rem;font-weight:600;gap:8px;margin:0 0 12px}.relationships-brief{display:flex;flex-wrap:wrap;gap:16px}.relationship-brief-item{background:#fff;border:1px solid #dee2e6;border-radius:6px;min-width:280px;padding:8px 12px;transition:all .2s ease}.relationship-brief-item:hover{border-color:#667eea;box-shadow:0 2px 8px #667eea26;transform:translateY(-1px)}.relationship-text{align-items:center;color:#495057;display:flex;flex-wrap:wrap;font-size:.9rem;gap:8px}.relationship-text strong{color:#2c3e50;font-weight:600}.arrow{color:#667eea;font-size:1rem;font-weight:700}@media (max-width:768px){.preceptorship-brief{padding:12px 16px}.relationships-brief{flex-direction:column;gap:8px}.relationship-brief-item{min-width:auto}.relationship-text{align-items:flex-start;flex-direction:column;gap:4px}.arrow{align-self:center;transform:rotate(90deg)}}.schedule-matrix-page{background-color:#f8f9fa;font-family:Arial,sans-serif;min-height:100vh;padding:20px}.schedule-matrix-view{background-color:#f8f9fa;min-height:100vh;padding-top:80px}.schedule-header{background:linear-gradient(135deg,#fff,#f8fafb);border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 4px 16px #00000014;margin-bottom:24px;padding:24px 32px;text-align:center}.schedule-header h1{color:#2d3748;font-size:28px;font-weight:700;letter-spacing:-.02em;margin:0 0 8px}.schedule-header p{color:#718096;font-size:16px;font-weight:400;margin:0}.page-header{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:20px;padding:20px;text-align:center}.page-header h1{color:#2c3e50;font-size:24px;font-weight:700;margin:0}.legend{display:flex;flex-wrap:wrap;gap:20px;justify-content:center;margin-top:15px}.legend-item{gap:5px}.legend-item,.legend-symbol{align-items:center;display:flex}.legend-symbol{border:1px solid #ccc;border-radius:3px;font-size:12px;font-weight:700;height:20px;justify-content:center;width:30px}.legend-symbol.d{background-color:#fff3cd;color:#856404}.legend-symbol.e{background-color:#d1ecf1;color:#0c5460}.legend-symbol.n{background-color:#d4edda;color:#155724}.legend-symbol.m{background-color:#e2d5f1;color:#6f42c1}.legend-symbol.off{background-color:#f8f9fa;color:#113453}.legend-text{color:#495057;font-size:14px}.schedule-matrix{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow:hidden;overflow-x:auto;scroll-behavior:smooth}.schedule-matrix:has(.shift-cell.editing){overflow-anchor:none;scroll-behavior:auto}body:has(.shift-cell.editing){overflow:hidden}.schedule-matrix:has(.shift-cell.editing){overflow:hidden}.matrix-table{border-collapse:collapse;font-size:12px;min-width:1200px;scroll-behavior:smooth;width:100%}.matrix-table td,.matrix-table th{border:1px solid #dee2e6;padding:4px 2px;text-align:center;white-space:nowrap}.staff-name-header{background-color:#e9ecef;font-weight:700;left:0;min-width:80px;position:sticky;width:80px;z-index:10}.day-header{background-color:#f8f9fa;font-size:10px;min-width:25px;width:25px}.day-header.weekend{background-color:#ffe6e6;color:#dc3545}.day-header.saturday{background-color:#e6f3ff;color:#1565c0}.day-header.holiday{background-color:#ffe6e6;color:#dc3545}.day-number{display:block;font-weight:700}.day-name{color:#6c757d;display:block;font-size:8px}.night-header,.off-days-header,.total-header,.working-days-header{background-color:#e9ecef;font-weight:700;min-width:40px;width:40px}.staff-name-cell{background-color:#f8f9fa;font-weight:700;left:0;max-width:80px;overflow:hidden;padding-left:8px;position:sticky;scroll-margin:0;text-align:left;text-overflow:ellipsis;white-space:nowrap;will-change:auto;z-index:5}.staff-id-badge{background-color:#007bff;border-radius:3px;color:#fff;display:inline-block;font-size:9px;font-weight:400;margin-left:4px;padding:1px 4px}.shift-cell{font-size:11px;font-weight:700;min-width:25px;width:25px}.shift-cell.d{background-color:#fff3cd!important;color:#856404}.shift-cell.e{background-color:#d1ecf1!important;color:#0c5460}.shift-cell.n{background-color:#d4edda!important;color:#155724}.shift-cell.m{background-color:#e2d5f1!important;color:#6f42c1}.shift-cell.off{background-color:#f8f9fa;color:#6c757d}.shift-cell.editable{cursor:pointer;transition:all .2s ease}.shift-cell.editable:hover{box-shadow:0 2px 4px #0000001a;opacity:.8;transform:scale(1.05)}.matrix-table .shift-cell.requested{position:relative;text-shadow:.5px .5px 0 #dc3545!important}.matrix-table .shift-cell.requested,.matrix-table tbody .shift-cell.d.requested,.matrix-table tbody .shift-cell.e.requested,.matrix-table tbody .shift-cell.n.requested,.matrix-table tbody .shift-cell.off.requested{color:#dc3545!important;font-weight:700!important}.schedule-matrix .matrix-table tbody tr .shift-cell.requested{color:#dc3545!important;font-weight:900!important}.shift-cell.requested.editing{animation:none!important}.shift-cell.editing{padding:0;position:relative;z-index:1000}.shift-select{background:#0000;border:none;color:inherit;cursor:pointer;font-size:11px;font-weight:700;height:100%;outline:none;padding:4px 2px;position:relative;text-align:center;width:100%;z-index:1001}.shift-select:focus{background-color:#fff;border:2px solid #007bff;border-radius:3px;box-shadow:0 0 0 2px #007bff40;scroll-behavior:auto;scroll-margin:0;scroll-padding:0;transform:translateZ(0)}.shift-select option{background-color:#fff;color:#000;font-weight:400;padding:2px 4px}.night-cell,.off-days-cell,.total-cell,.working-days-cell{background-color:#f8f9fa;font-weight:700}.count-cell{background-color:#f8f9fa;min-width:60px;padding:2px 4px;text-align:left;width:60px}.count-breakdown{display:flex;flex-direction:column;gap:1px}.count-item{display:block;font-size:9px}.summary-row{background-color:#e9ecef;font-weight:700}.summary-label{background-color:#dee2e6;left:0;padding-left:8px;position:sticky;text-align:left;z-index:5}.summary-cell{background-color:#f8f9fa;font-weight:700}.summary-cell.weekend{background-color:#e6f2ff;color:#004085}.summary-cell.saturday{background-color:#e6f7ff;color:#06c}.summary-cell.holiday{background-color:#ffe6e6;color:#dc3545}.summary-total{background-color:#d1ecf1;font-weight:700;text-align:center}.shift-summary-row{background-color:#f8f9fa}.shift-summary-label{background-color:#e9ecef;font-weight:700;left:0;padding-left:8px;position:sticky;text-align:left;z-index:5}.shift-summary-cell{font-size:10px}.shift-summary-cell.weekend{background-color:#e6f2ff;color:#004085}.shift-summary-cell.saturday{background-color:#e6f7ff;color:#06c}.shift-summary-cell.holiday{background-color:#ffe6e6;color:#dc3545}.shift-summary-total{background-color:#e9ecef;font-weight:700;text-align:center}.print-button-container{margin-top:20px;text-align:center}.print-button{background:#007bff;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:14px;padding:10px 20px;transition:background-color .2s ease}.print-button:hover{background:#0056b3}.excel-button{background:#28a745;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:14px;padding:10px 20px;transition:background-color .2s ease}.excel-button:hover{background:#1e7e34}.empty-state{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:40px;text-align:center}.schedule-table-header-actions{margin-bottom:15px;text-align:right}.schedule-detail-button{background:#17a2b8;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:14px;padding:8px 16px;transition:background-color .2s}.schedule-detail-button:hover{background:#138496}@media print{.schedule-matrix-page{background:#fff;padding:10px}.page-header{border:none;box-shadow:none}.excel-button,.print-button-container{display:none}.main-schedule-section,.team-schedule-section{background:#fff!important;box-shadow:none!important;break-inside:avoid;margin-bottom:20px;padding:10px;page-break-inside:avoid}.main-schedule-section h2,.team-schedule-section h2{background:#f0f0f0!important;box-shadow:none!important;color:#000!important;font-size:14px!important;padding:8px!important}.section-divider,.team-stats{display:none}.matrix-table{font-size:8px}.matrix-table td,.matrix-table th{padding:2px 1px}.staff-name-cell{font-size:8px}.count-item{font-size:7px}.team-schedule-section{page-break-before:always}.team-schedule-section:first-of-type{page-break-before:auto}}@media (max-width:1200px){.schedule-matrix{margin:0 -20px}.schedule-matrix-page{padding:10px}}.team-schedule-section{background:#fff;border:2px solid #e9ecef;border-radius:12px;box-shadow:0 4px 12px #00000026;margin-bottom:30px;margin-top:40px;overflow:hidden;padding:0}.team-schedule-section h2{color:#fff;font-size:20px;font-weight:700;margin:0;padding:20px 25px;position:relative;text-align:center;text-shadow:0 2px 4px #0000004d}.team-schedule-section h2:before{background:linear-gradient(45deg,#ffffff1a,#fff0);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.team-based-scheduling .team-schedule-section.team-a{border-color:#dc3545;box-shadow:0 4px 20px #dc354533}.team-based-scheduling .team-schedule-section.team-a h2{background:linear-gradient(135deg,#e63946,#d62d20)}.team-based-scheduling .team-schedule-section.team-b{border-color:#198754;box-shadow:0 4px 20px #19875433}.team-based-scheduling .team-schedule-section.team-b h2{background:linear-gradient(135deg,#20c997,#198754)}.team-based-scheduling .team-schedule-section.team-c{border-color:#fd7e14;box-shadow:0 4px 20px #fd7e1433}.team-based-scheduling .team-schedule-section.team-c h2{background:linear-gradient(135deg,#fd7e14,#e5621c);color:#fff!important}.team-based-scheduling .team-schedule-section.team-d{border-color:#6f42c1;box-shadow:0 4px 20px #6f42c133}.team-based-scheduling .team-schedule-section.team-d h2{background:linear-gradient(135deg,#8862e0,#6f42c1)}.team-based-scheduling .team-schedule-section.team-a .staff-name-cell{background:linear-gradient(135deg,#fff5f5,#ffe6e6);border-left:4px solid #dc3545;color:#721c24;font-weight:600}.team-based-scheduling .team-schedule-section.team-b .staff-name-cell{background:linear-gradient(135deg,#f0fff4,#d4f8e8);border-left:4px solid #198754;color:#0f5132;font-weight:600}.team-based-scheduling .team-schedule-section.team-c .staff-name-cell{background:linear-gradient(135deg,#fff8f0,#ffeaa7);border-left:4px solid #fd7e14;color:#653208;font-weight:600}.team-based-scheduling .team-schedule-section.team-d .staff-name-cell{background:linear-gradient(135deg,#f8f5ff,#e8d5ff);border-left:4px solid #6f42c1;color:#432874;font-weight:600}.team-stats{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-bottom:2px solid #0000001a;border-top:1px solid #0000001a;margin:0;padding:20px 25px}.team-stats h3{color:#495057;font-size:16px;font-weight:600;letter-spacing:.5px;margin:0 0 15px;text-align:center;text-transform:uppercase}.team-stats-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));margin:0;max-width:600px}.team-stat-item{background:#fff;border:1px solid #0000001a;border-radius:8px;box-shadow:0 2px 4px #0000000d;padding:12px 8px;text-align:center;transition:transform .2s ease,box-shadow .2s ease}.team-stat-item:hover{box-shadow:0 4px 8px #0000001a;transform:translateY(-2px)}.team-stat-label{color:#6c757d;font-size:12px;font-weight:500;letter-spacing:.3px;margin-bottom:4px;text-transform:uppercase}.team-stat-value{color:#2c3e50;font-size:18px;font-weight:700}.team-based-scheduling .team-schedule-section.team-a .staff-id-badge{background:linear-gradient(135deg,#dc3545,#c82333);border:1px solid #dc35454d;box-shadow:0 1px 3px #dc35454d;color:#fff}.team-based-scheduling .team-schedule-section.team-b .staff-id-badge{background:linear-gradient(135deg,#198754,#146c43);border:1px solid #1987544d;box-shadow:0 1px 3px #1987544d;color:#fff}.team-based-scheduling .team-schedule-section.team-c .staff-id-badge{background:linear-gradient(135deg,#fd7e14,#e5621c);border:1px solid #fd7e144d;box-shadow:0 1px 3px #fd7e144d;color:#fff}.team-based-scheduling .team-schedule-section.team-d .staff-id-badge{background:linear-gradient(135deg,#6f42c1,#5a2d91);border:1px solid #6f42c14d;box-shadow:0 1px 3px #6f42c14d;color:#fff}.team-schedule-section .schedule-matrix{border-radius:0;border-top:2px solid #0000001a;box-shadow:none;margin:0}.section-divider{background:linear-gradient(90deg,#0000,#007bff 20%,#6f42c1 40%,#dc3545 60%,#198754 80%,#0000);border-radius:2px;height:4px;margin:50px auto;max-width:80%;position:relative}.section-divider:before{background:#fff;border:2px solid #e9ecef;border-radius:15px;color:#495057;content:"팀별 상세 스케줄";font-size:14px;font-weight:600;left:50%;padding:5px 15px;position:absolute;top:-25px;transform:translateX(-50%);white-space:nowrap}.main-schedule-section{background:#fff;border:2px solid #e9ecef;border-radius:15px;box-shadow:0 6px 20px #0000001a;margin-bottom:50px;padding:25px}.main-schedule-section h2{background:linear-gradient(135deg,#17a2b8,#138496);border-radius:10px;box-shadow:0 4px 8px #00000026;color:#fff;font-size:26px;font-weight:700;margin-bottom:25px;overflow:hidden;padding:25px;position:relative;text-align:center;text-shadow:0 2px 4px #0000004d}.main-schedule-section h2:before{background:linear-gradient(45deg,#ffffff1a,#fff0);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}@media (max-width:768px){.schedule-matrix-view{padding-top:72px}.schedule-header{border-radius:12px;margin-bottom:16px;padding:16px 20px}.schedule-header h1{font-size:22px}.schedule-header p{font-size:14px}.team-schedule-section{margin-bottom:20px;margin-top:30px}.team-schedule-section h2{font-size:18px;padding:15px 20px}.team-stats{padding:15px 20px}.team-stats-grid{gap:8px;grid-template-columns:repeat(2,1fr)}.team-stat-item{padding:8px 6px}.team-stat-value{font-size:16px}.section-divider:before{font-size:12px;padding:3px 10px}}@media (max-width:480px){.schedule-matrix-view{padding-left:8px;padding-right:8px;padding-top:68px}.schedule-header{border-radius:8px;margin-bottom:12px;padding:12px 16px}.schedule-header h1{font-size:20px}.schedule-header p{font-size:13px}}@media print{.team-schedule-section{background:#fff!important;border:2px solid #000!important;box-shadow:none!important;break-inside:avoid;margin-bottom:30px;padding:0;page-break-inside:avoid}.team-schedule-section h2{background:#f0f0f0!important;border-bottom:2px solid #000!important;box-shadow:none!important;color:#000!important;font-size:16px!important;padding:15px!important}.team-stats{background:#f8f8f8!important;border-bottom:1px solid #000!important;border-top:1px solid #000!important}.team-schedule-section:nth-of-type(n+2){page-break-before:always}}.staff-row:has(.shift-cell.editing){position:relative;z-index:999}@media (max-width:768px){.schedule-matrix{-webkit-overflow-scrolling:touch;margin:0 -10px;overflow-x:auto;padding:0 10px;position:relative}.schedule-matrix:after{background:#000000b3;border-radius:15px;bottom:10px;color:#fff;content:"← 좌우로 스크롤 →";font-size:11px;left:50%;padding:4px 12px;pointer-events:none;position:absolute;transform:translateX(-50%);z-index:10}.matrix-table{font-size:10px;min-width:800px}.matrix-table td,.matrix-table th{font-size:9px;padding:2px 1px}.staff-name-cell,.staff-name-header{font-size:10px;min-width:70px;width:70px}.day-header,.shift-cell{min-width:20px;width:20px}.shift-cell{font-size:9px}.print-button-container{display:flex;flex-direction:column;gap:10px;margin-top:15px}.excel-button,.print-button,.schedule-detail-button{font-size:14px;padding:12px 20px;width:100%}.legend{gap:10px;padding:0 10px}.legend-item{font-size:12px}.legend-symbol{font-size:10px;height:18px;width:24px}.team-stats-grid{gap:8px;grid-template-columns:repeat(2,1fr)}.team-stat-item{padding:8px 6px}.team-stat-label{font-size:11px}.team-stat-value{font-size:16px}.staff-id-badge{font-size:8px;margin-left:2px;padding:1px 3px}.shift-summary-cell,.summary-cell{font-size:9px}.count-item{font-size:8px}}@media (max-width:480px){.mobile-card-view{display:none}.schedule-matrix{margin:0 -8px;padding:0 8px}.matrix-table{font-size:9px;min-width:700px}.staff-name-cell,.staff-name-header{font-size:9px;min-width:60px;padding-left:4px;width:60px}.day-header,.shift-cell{font-size:8px;min-width:18px;width:18px}.day-number{font-size:9px}.day-name{font-size:7px}.legend{font-size:11px;gap:8px}.legend-symbol{font-size:9px;height:16px;width:20px}.legend-text{font-size:11px}.team-stats-grid{gap:6px;grid-template-columns:1fr;max-width:100%}.team-stat-item{align-items:center;display:flex;justify-content:space-between;padding:8px 12px}.team-stat-label{font-size:12px;margin-bottom:0}.team-stat-value{font-size:14px}.schedule-matrix:after{bottom:5px;font-size:10px;padding:3px 10px}.night-cell,.off-days-cell,.total-cell,.working-days-cell{font-size:8px}}@media (min-width:769px) and (max-width:1024px){.matrix-table{font-size:11px}.staff-name-cell,.staff-name-header{min-width:75px;width:75px}.day-header,.shift-cell{min-width:22px;width:22px}.shift-cell{font-size:10px}}.settings-container{margin:0 auto;max-width:1200px;padding:2rem}.settings-header{margin-bottom:2rem}.settings-header h2{color:var(--color-text-primary);font-size:2rem;font-weight:600;margin-bottom:.5rem}.settings-header p{color:var(--color-text-secondary);font-size:1rem}.settings-content{display:flex;flex-direction:column;gap:2rem}.settings-section{background:var(--color-surface);border-radius:12px;box-shadow:var(--shadow-card);padding:2rem}.settings-section h3{color:var(--color-text-primary);font-size:1.5rem;font-weight:600;margin-bottom:1rem}.feature-notice{background:#fff3cd;background:var(--color-warning-alpha,#fff3cd);border:1px solid #ffeaa7;border:1px solid var(--color-warning,#ffeaa7);border-radius:8px;margin-bottom:1rem;padding:1rem}.feature-notice p{color:var(--color-text-secondary);margin-bottom:.5rem}.feature-notice ul{margin:0;padding-left:1.5rem}.feature-notice li{color:var(--color-text-secondary);margin-bottom:.25rem}.help-section{background:#e3f2fd;background:var(--color-info-alpha,#e3f2fd);border:1px solid #2196f3;border:1px solid var(--color-info,#2196f3);border-radius:8px;padding:1.5rem}.help-section p{color:var(--color-text-primary);margin-bottom:1rem}.help-links{gap:.75rem}.help-item,.help-links{display:flex;flex-direction:column}.help-item{background:#fff;background:var(--color-surface,#fff);border:1px solid #e0e0e0;border:1px solid var(--color-border,#e0e0e0);border-radius:6px;gap:.25rem;padding:.75rem}.help-item strong{color:#667eea;color:var(--color-accent,#667eea);font-size:.9rem;font-weight:600}.help-item span{color:var(--color-text-secondary);font-size:.85rem}@media (max-width:768px){.settings-container{padding:1rem}.settings-section{padding:1.5rem}.settings-header h2{font-size:1.75rem}.help-item{padding:1rem}}@media (prefers-color-scheme:dark){.help-item{background:#2d2d2d;background:var(--color-surface-dark,#2d2d2d);border-color:#404040;border-color:var(--color-border-dark,#404040)}.help-section{background:#1e3a8a;background:var(--color-info-dark,#1e3a8a);border-color:#3b82f6;border-color:var(--color-info-light,#3b82f6)}.constraint-category,.constraints-section{background:#2d2d2d;background:var(--color-surface-dark,#2d2d2d)}.constraint-category{border-color:#404040;border-color:var(--color-border-dark,#404040)}.constraints-note{background:#1e3a8a;background:var(--color-info-dark,#1e3a8a);border-color:#3b82f6;border-color:var(--color-info-light,#3b82f6)}}.constraints-section{background:#fff;background:var(--color-surface,#fff);border-radius:8px;padding:0}.constraints-section>p{color:var(--color-text-primary);font-size:1rem;margin-bottom:1.5rem}.constraint-categories{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:1.5rem}.constraint-category{background:#fff;background:var(--color-surface,#fff);border:1px solid #e0e0e0;border:1px solid var(--color-border,#e0e0e0);border-radius:8px;padding:1.25rem}.constraint-category h4{align-items:center;color:var(--color-text-primary);display:flex;font-size:1.1rem;font-weight:600;gap:.5rem;margin-bottom:.75rem}.constraint-list{list-style:none;margin:0;padding-left:0}.constraint-list li{color:var(--color-text-secondary);line-height:1.5;margin-bottom:.6rem;padding-left:1rem;position:relative}.constraint-list li:before{color:#667eea;color:var(--color-accent,#667eea);content:"•";font-weight:700;left:0;position:absolute}.constraint-list li strong{color:var(--color-text-primary);font-weight:600}.constraints-note{background:#e3f2fd;background:var(--color-info-alpha,#e3f2fd);border:1px solid #2196f3;border:1px solid var(--color-info,#2196f3);border-radius:6px;padding:1rem}.constraints-note p{color:var(--color-text-primary);font-size:.9rem;line-height:1.5;margin:0}.constraint-category:first-child{border-left:4px solid #f44336;border-left:4px solid var(--color-error,#f44336)}.constraint-category:nth-child(2){border-left:4px solid #ff9800;border-left:4px solid var(--color-warning,#ff9800)}.constraint-category:nth-child(3){border-left:4px solid #4caf50;border-left:4px solid var(--color-success,#4caf50)}@media (max-width:768px){.constraint-categories{gap:1rem}.constraint-category{padding:1rem}.constraint-category h4{font-size:1rem}.constraint-list li{font-size:.9rem;margin-bottom:.5rem}.constraints-note{padding:.8rem}.constraints-note p{font-size:.85rem}}.profile-dashboard{background-color:#f8f9fa;margin:0 auto;max-width:1200px;min-height:100vh;padding:24px}.profile-header{margin-bottom:32px;text-align:center}.profile-header h1{color:#2c3e50;font-size:36px;font-weight:600;margin-bottom:12px}.profile-header p{color:#7f8c8d;font-size:16px;margin:0}.loading-container{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:60px 20px}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #ecf0f1;border-radius:50%;border-top-color:#3498db;height:48px;margin-bottom:24px;width:48px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.error-message{background-color:#fee;border:1px solid #fcc;color:#c33;margin-bottom:24px;padding:16px 20px;text-align:center}.error-message p{font-weight:500;margin:0}.success-message{background-color:#efe;border:1px solid #cfc;border-radius:12px;color:#3a3;margin-bottom:24px;padding:16px 20px;text-align:center}.success-message p{font-weight:500;margin:0}.profile-content{grid-gap:24px;display:grid;gap:24px;grid-template-columns:1fr 1fr}.profile-card{background:#fff;border:1px solid #e9ecef;border-radius:16px;box-shadow:0 4px 20px #00000014;padding:32px}.profile-card-header{align-items:center;border-bottom:2px solid #f1f3f4;display:flex;justify-content:space-between;margin-bottom:24px;padding-bottom:16px}.profile-card-header h2{color:#2c3e50;font-size:24px;font-weight:600;margin:0}.edit-toggle-btn{background-color:#3498db;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .3s ease}.edit-toggle-btn:hover{background-color:#2980b9;transform:translateY(-2px)}.edit-toggle-btn.editing{background-color:#e74c3c}.edit-toggle-btn.editing:hover{background-color:#c0392b}.google-user-notice{align-items:center;background-color:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;color:#6c757d;display:flex;font-size:14px;gap:8px;padding:8px 16px}.google-user-notice span{cursor:help}.profile-form{gap:20px}.profile-field,.profile-form{display:flex;flex-direction:column}.profile-field{gap:8px}.profile-field label{color:#34495e;font-size:14px;font-weight:600}.profile-input{background-color:#fff;border:2px solid #e9ecef;border-radius:8px;font-size:14px;padding:12px 16px;transition:all .3s ease}.profile-input:focus{border-color:#3498db;box-shadow:0 0 0 3px #3498db1a;outline:none}.profile-input.disabled{background-color:#f8f9fa;color:#6c757d;cursor:not-allowed}.profile-field small{color:#7f8c8d;font-size:12px;margin-top:4px}.profile-info-display{background-color:#f8f9fa;border:2px solid #e9ecef;border-radius:8px;color:#495057;font-size:14px;padding:12px 16px}.profile-actions{border-top:1px solid #e9ecef;display:flex;justify-content:flex-end;margin-top:24px;padding-top:16px}.save-btn{background-color:#27ae60;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:12px 24px;transition:all .3s ease}.save-btn:hover:not(:disabled){background-color:#219a52;transform:translateY(-2px)}.save-btn:disabled{cursor:not-allowed;opacity:.6;transform:none}.role-section{display:flex;flex-direction:column;gap:24px}.role-display{display:flex;flex-wrap:wrap;gap:8px}.role-badge{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:20px;color:#fff;font-size:12px;font-weight:600;letter-spacing:.5px;padding:8px 16px;text-transform:uppercase}.role-change-section{display:flex;flex-direction:column;gap:16px}.role-description{color:#7f8c8d;font-size:14px;line-height:1.5;margin:0}.role-buttons{display:flex;flex-direction:column;gap:12px}.role-btn{background:#fff;border:2px solid #e9ecef;border-radius:12px;cursor:pointer;padding:20px;text-align:left;transition:all .3s ease;width:100%}.role-btn:hover:not(:disabled){border-color:#3498db;box-shadow:0 8px 25px #3498db26;transform:translateY(-2px)}.role-btn.active{background-color:#f8fff8;border-color:#27ae60;box-shadow:0 4px 20px #27ae601a}.role-btn:disabled{cursor:not-allowed;opacity:.6;transform:none}.role-btn-content{gap:16px}.role-btn-content,.role-icon{align-items:center;display:flex}.role-icon{background-color:#f8f9fa;border-radius:12px;font-size:32px;height:48px;justify-content:center;width:48px}.role-info{flex:1 1}.role-name{color:#2c3e50;font-size:18px;font-weight:600;margin-bottom:4px}.role-desc{color:#7f8c8d;font-size:14px;margin:0}.role-btn.admin .role-icon{background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff}.role-btn.nurse .role-icon{background:linear-gradient(135deg,#4facfe,#00f2fe);color:#fff}.role-btn.admin.active{background-color:#fef8f8;border-color:#e74c3c;box-shadow:0 4px 20px #e74c3c1a}.role-btn.nurse.active{background-color:#f8fcff;border-color:#3498db;box-shadow:0 4px 20px #3498db1a}@media (max-width:768px){.profile-dashboard{padding:16px}.profile-header h1{font-size:28px}.profile-content{gap:16px;grid-template-columns:1fr}.profile-card{padding:24px}.profile-card-header{align-items:flex-start;flex-direction:column;gap:16px}.edit-toggle-btn{text-align:center;width:100%}.role-btn-content{flex-direction:column;gap:12px;text-align:center}.role-info{text-align:center}}@media (prefers-color-scheme:dark){.profile-dashboard{background-color:#1a1a1a;color:#e0e0e0}.profile-header h1{color:#fff}.profile-header p{color:#b0b0b0}.profile-card{background-color:#2d2d2d;border-color:#404040}.profile-card-header{border-bottom-color:#404040}.profile-card-header h2{color:#fff}.profile-field label{color:#e0e0e0}.profile-input{background-color:#3d3d3d;border-color:#555;color:#e0e0e0}.profile-input.disabled{background-color:#2a2a2a;color:#888}.profile-info-display,.role-btn{background-color:#3d3d3d;border-color:#555;color:#e0e0e0}.role-btn.active{background-color:#2a4a2a;border-color:#27ae60}.role-name{color:#fff}.role-desc{color:#b0b0b0}}.legal-page{background:var(--white);min-height:100vh;padding:var(--spacing-lg)}.legal-container{margin:0 auto;max-width:800px;padding:var(--spacing-xl)}.legal-header{border-bottom:2px solid var(--light-border);margin-bottom:var(--spacing-2xl);padding-bottom:var(--spacing-lg)}.back-button{margin-bottom:var(--spacing-lg)}.legal-title{color:var(--text-primary);font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-sm)}.legal-date{color:var(--text-secondary);font-size:var(--font-size-md);margin:0}.legal-content{color:var(--text-primary);line-height:var(--line-height-relaxed)}.legal-section{margin-bottom:var(--spacing-2xl)}.legal-section h2{border-bottom:1px solid var(--light-border);color:var(--primary-deep-blue);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-sm)}.legal-section h3{color:var(--text-primary);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin:var(--spacing-lg) 0 var(--spacing-md) 0}.legal-section p{line-height:var(--line-height-relaxed);margin-bottom:var(--spacing-md)}.legal-section ul{margin-bottom:var(--spacing-md);padding-left:var(--spacing-lg)}.legal-section li{line-height:var(--line-height-relaxed);margin-bottom:var(--spacing-sm)}.legal-section strong{color:var(--primary-deep-blue);font-weight:var(--font-weight-bold)}.contact-info{background:var(--secondary-light-gray);border-radius:var(--border-radius-md);margin:var(--spacing-md) 0;padding:var(--spacing-lg)}.contact-info p{margin-bottom:var(--spacing-sm)}.contact-info p:last-child{margin-bottom:0}.legal-footer{border-top:2px solid var(--light-border);color:var(--text-secondary);margin-top:var(--spacing-3xl);padding-top:var(--spacing-lg);text-align:center}.legal-footer p{margin-bottom:var(--spacing-xs)}.legal-footer p:last-child{margin-bottom:0}@media (max-width:768px){.legal-container,.legal-page{padding:var(--spacing-md)}.legal-title{font-size:var(--font-size-2xl)}.legal-section h2{font-size:var(--font-size-lg)}.legal-section h3{font-size:var(--font-size-md)}.legal-section ul{padding-left:var(--spacing-md)}.contact-info{padding:var(--spacing-md)}}@media (max-width:480px){.legal-title{font-size:var(--font-size-xl)}.legal-section h2{font-size:var(--font-size-md)}.legal-section h3{font-size:var(--font-size-sm)}}.user-guide-container{background-color:#f5f7fa;display:flex;flex-direction:column;height:100vh}.guide-header{background:#fff;border-bottom:1px solid #e1e5ea;padding:30px 40px;text-align:center}.guide-header h1{color:#202124;font-size:32px;font-weight:600;margin:0 0 10px}.guide-header p{color:#5f6368;font-size:16px;margin:0}.guide-layout{display:flex;flex:1 1;overflow:hidden}.guide-sidebar{background-color:#fff;border-right:1px solid #e1e5ea;overflow-y:auto;padding:20px 0;width:250px}.guide-nav{display:flex;flex-direction:column}.guide-nav-item{align-items:center;background:none;border:none;color:#5f6368;cursor:pointer;display:flex;font-size:14px;gap:12px;padding:12px 24px;text-align:left;transition:all .2s ease;width:100%}.guide-nav-item:hover{background-color:#f8f9fa;color:#1a73e8}.guide-nav-item.active{background-color:#e8f0fe;border-right:3px solid #1a73e8;color:#1a73e8;font-weight:500}.nav-icon{font-size:18px}.guide-main{flex:1 1;overflow-y:auto;padding:40px}.guide-section{margin:0 auto;max-width:900px}.guide-section h2{align-items:center;color:#202124;display:flex;font-size:28px;gap:12px;margin-bottom:30px}.section-icon{font-size:32px}.guide-content{color:#3c4043;line-height:1.8}.guide-content h3{color:#202124;font-size:22px;margin:30px 0 20px}.guide-content h4{color:#202124;font-size:18px;margin:20px 0 12px}.guide-content p{margin-bottom:16px}.feature-cards{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin:30px 0}.feature-card{background:#fff;border:1px solid #e1e5ea;border-radius:8px;padding:24px;transition:box-shadow .2s ease}.feature-card:hover{box-shadow:0 4px 12px #0000001a}.feature-card h4{margin-top:0}.steps{margin:30px 0}.step{display:flex;gap:20px;margin-bottom:30px;position:relative}.step:not(:last-child):after{background-color:#e1e5ea;content:"";height:calc(100% + 10px);left:20px;position:absolute;top:50px;width:2px}.step-number{align-items:center;background-color:#1a73e8;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:18px;font-weight:700;height:40px;justify-content:center;width:40px;z-index:1}.step-content{flex:1 1}.instruction{background:#fff;border:1px solid #e1e5ea;border-radius:8px;margin:20px 0;padding:20px}.instruction h4{margin-top:0}.instruction ul{margin:10px 0;padding-left:20px}.instruction li{margin:8px 0}.warning-box{background-color:#fef7e0;border:1px solid #f9cc5c;border-radius:8px;margin:20px 0;padding:20px}.warning-box strong{color:#f9ab00}.tip-box{background-color:#e8f5e9;border:1px solid #81c784;border-radius:8px;margin:20px 0;padding:20px}.tip-box strong{color:#2e7d32}.info-box{background-color:#e3f2fd;border:1px solid #64b5f6;border-radius:8px;margin:20px 0;padding:20px}.info-box strong{color:#1976d2}.request-types{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin:20px 0}.request-type{background:#fff;border:1px solid #e1e5ea;border-radius:8px;padding:20px}.option-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin:20px 0}.option{background:#f8f9fa;border-radius:8px;padding:20px}.option h5{color:#1a73e8;margin-top:0}.shortcut-list{display:flex;flex-direction:column;gap:12px;margin:20px 0}.shortcut{align-items:center;background:#fff;border:1px solid #e1e5ea;border-radius:8px;display:flex;gap:12px;padding:12px}.shortcut kbd{background-color:#f8f9fa;border:1px solid #dadce0;border-radius:4px;box-shadow:0 1px 2px #0000001a;font-family:monospace;font-size:12px;padding:4px 8px}.shortcut span{color:#5f6368;margin-left:auto}.faq{margin:20px 0}.faq details{background:#fff;border:1px solid #e1e5ea;border-radius:8px;margin-bottom:12px;padding:16px}.faq summary{color:#202124;cursor:pointer;font-weight:500;outline:none}.faq summary:hover{color:#1a73e8}.answer{border-top:1px solid #e1e5ea;margin-top:16px;padding-top:16px}.support-info{background:#f8f9fa;border-radius:8px;margin-top:30px;padding:20px}.support-info h4{color:#202124;margin-bottom:16px;margin-top:0}.support-info ul{margin:0;padding-left:20px}.support-info li{line-height:1.5;margin:8px 0}.tip{color:#188038;font-size:14px;margin-top:8px}@media (max-width:768px){.guide-layout{flex-direction:column}.guide-sidebar{border-bottom:1px solid #e1e5ea;border-right:none;padding:10px 0;width:100%}.guide-nav{flex-direction:row;overflow-x:auto;padding:0 16px}.guide-nav-item{flex-shrink:0;padding:8px 16px;white-space:nowrap}.guide-nav-item.active{border-bottom:3px solid #1a73e8;border-right:none}.guide-main{padding:20px}.feature-cards,.option-grid,.request-types{grid-template-columns:1fr}}:root{--color-black:#0a0a0a;--color-dark:#1a1a1a;--color-darker:#0f0f0f;--color-white:#fff;--color-gray-50:#fafafa;--color-gray-100:#f5f5f5;--color-gray-200:#e5e5e5;--color-gray-300:#d4d4d4;--color-gray-400:#a3a3a3;--color-gray-500:#737373;--color-gray-600:#525252;--color-gray-700:#404040;--color-gray-800:#262626;--color-gray-900:#171717;--color-primary:#2563eb;--color-primary-light:#3b82f6;--color-primary-dark:#1d4ed8;--color-secondary:#06b6d4;--color-secondary-light:#22d3ee;--color-accent:#10b981;--color-accent-light:#34d399;--color-medical-blue:#0ea5e9;--color-medical-green:#059669;--color-medical-teal:#0d9488;--font-size-xs:12px;--font-size-sm:14px;--font-size-base:16px;--font-size-lg:18px;--font-size-xl:24px;--font-size-2xl:32px;--font-size-3xl:48px;--font-size-4xl:64px;--font-size-5xl:96px;--font-size-hero:clamp(80px,12vw,180px);--container-width:1440px;--section-padding:120px 0;--header-height:80px;--transition-smooth:all 0.3s cubic-bezier(0.4,0,0.2,1);--transition-bounce:all 0.4s cubic-bezier(0.68,-0.55,0.265,1.55);--animation-duration:1.5s;--z-header:1000;--z-modal:2000;--z-overlay:3000}*{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth}.landing-page-body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.6;min-height:100vh}.landing-page-body,body.landing-page{overflow-x:hidden}.landing-page-body,.ns-landing,body.landing-page{background:#0a0a0a;background:var(--color-black);color:#fff;color:var(--color-white)}.ns-landing{position:relative}.ns-header{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#0000001a;border-bottom:1px solid #ffffff1a;height:80px;height:var(--header-height);left:0;opacity:0;position:fixed;right:0;top:0;transform:translateY(-100%);transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition-smooth);z-index:1000;z-index:var(--z-header)}.ns-header--visible{background:#000000f2;opacity:1;transform:translateY(0)}.ns-header__container{margin:0 auto;max-width:1440px;max-width:var(--container-width);padding:0 32px}.ns-header__content{align-items:center;display:flex;height:80px;height:var(--header-height);justify-content:space-between}.ns-header__logo{align-items:center;display:flex;gap:12px}.ns-header__logo-icon{align-items:center;background:linear-gradient(135deg,#2563eb,#3b82f6);background:linear-gradient(135deg,var(--color-primary),var(--color-primary-light));border-radius:6px;color:#fff;color:var(--color-white);display:flex;font-size:14px;font-weight:900;height:32px;justify-content:center;width:32px}.ns-header__logo-text{color:#fff;color:var(--color-white);font-size:24px;font-size:var(--font-size-xl);font-weight:700}.ns-header__subtitle{color:var(--color-gray);font-size:14px;font-size:var(--font-size-sm);font-style:italic;font-weight:300}.ns-header__nav{display:flex;gap:40px}.ns-header__nav-item{background:none;border:none;color:#fff;color:var(--color-white);cursor:pointer;font-size:16px;font-size:var(--font-size-base);font-weight:500;padding:12px 0;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition-smooth)}.ns-header__nav-item:hover{color:#3b82f6;color:var(--color-primary-light)}.ns-header__nav-item:after{background:#2563eb;background:var(--color-primary);bottom:0;content:"";height:2px;left:0;position:absolute;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition-smooth);width:0}.ns-header__nav-item:hover:after{width:100%}.ns-header__login{background:#2563eb;background:var(--color-primary);border:none;border-radius:6px;color:#fff;color:var(--color-white);cursor:pointer;font-weight:600;padding:12px 24px;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition-smooth)}.ns-header__login:hover{background:#3b82f6;background:var(--color-primary-light);transform:translateY(-2px)}.ns-hero{align-items:center;background:#0a0a0a;background:var(--color-black);display:flex;height:100vh;justify-content:center;min-height:900px;overflow:hidden;position:relative}.ns-hero__animated-bg{z-index:1}.ns-hero__animated-bg,.ns-hero__overlay{height:100%;left:0;position:absolute;top:0;width:100%}.ns-hero__overlay{background:linear-gradient(135deg,#000000b3,#0066cc1a);z-index:2}.ns-hero__content{position:relative;text-align:center;z-index:3}.ns-hero__title-wrapper{position:relative}.ns-hero__title{font-size:clamp(80px,12vw,180px);font-size:var(--font-size-hero);font-weight:900;letter-spacing:-.02em;line-height:.9;margin-bottom:60px}.ns-hero__title-line{animation:heroTitleReveal 1.2s cubic-bezier(.77,0,.175,1) forwards;display:block;opacity:0;transform:translateY(100px)}.ns-hero__title-line:first-child{animation-delay:.1s}.ns-hero__title-line:nth-child(2){animation-delay:.3s}.ns-hero__title-line:nth-child(3){animation-delay:.5s}.ns-hero__title-line:nth-child(4){animation-delay:.7s}.ns-hero__title-line--subtitle{color:var(--color-gray);font-size:32px;font-size:var(--font-size-2xl);font-style:italic;font-weight:300;letter-spacing:.1em}.ns-hero__scroll-indicator{align-items:center;animation:fadeInUp 1s ease-out 1.5s forwards;bottom:-80px;display:flex;flex-direction:column;gap:12px;left:50%;opacity:0;position:absolute;transform:translateX(-50%)}.ns-hero__scroll-line{animation:scrollPulse 2s ease-in-out infinite;background:linear-gradient(180deg,#0000,#fff,#0000);background:linear-gradient(to bottom,#0000,var(--color-white),#0000);height:60px;width:1px}.ns-hero__scroll-text{color:var(--color-gray);font-size:12px;font-size:var(--font-size-xs);letter-spacing:.2em;text-orientation:mixed;writing-mode:vertical-lr}.ns-hero__intro{background:linear-gradient(#0000,#000000e6);bottom:0;left:0;padding:100px 0 60px;position:absolute;right:0;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition-smooth)}.ns-hero__intro-content{grid-gap:60px;align-items:center;display:grid;gap:60px;grid-template-columns:auto 1fr;margin:0 auto;max-width:1440px;max-width:var(--container-width);padding:0 32px}.ns-hero__logo-icon{align-items:center;background:linear-gradient(135deg,#2563eb,#3b82f6);background:linear-gradient(135deg,var(--color-primary),var(--color-primary-light));border-radius:12px;color:#fff;color:var(--color-white);display:flex;filter:brightness(1.2);font-size:32px;font-weight:900;height:80px;justify-content:center;width:80px}.ns-hero__description p{color:var(--color-gray-light);font-size:18px;font-size:var(--font-size-lg);line-height:1.7;margin-bottom:16px}.ns-hero__actions{display:flex;gap:20px;margin-top:32px}.ns-btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:inline-flex;font-size:16px;font-size:var(--font-size-base);font-weight:600;justify-content:center;overflow:hidden;padding:16px 32px;position:relative;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition-smooth)}.ns-btn--primary{background:#2563eb;background:var(--color-primary);color:#fff;color:var(--color-white)}.ns-btn--primary:hover{background:#3b82f6;background:var(--color-primary-light);box-shadow:0 10px 25px #0066cc4d;transform:translateY(-2px)}.ns-btn--outline{background:#0000;border:2px solid #fff;border:2px solid var(--color-white);color:#fff;color:var(--color-white)}.ns-btn--outline:hover{background:#fff;background:var(--color-white);color:#0a0a0a;color:var(--color-black);transform:translateY(-2px)}.ns-btn--large{font-size:18px;font-size:var(--font-size-lg);padding:20px 40px}.ns-marquee{overflow:hidden;position:relative;white-space:nowrap}.ns-marquee--title{background:#0a0a0a;background:var(--color-black);border-bottom:1px solid #ffffff1a;border-top:1px solid #ffffff1a;padding:40px 0}.ns-marquee--scroll{background:#0000;padding:20px 0}.ns-marquee__content{animation:marqueeScroll 20s linear infinite;display:inline-flex}.ns-marquee__text{color:#fff;color:var(--color-white);font-size:48px;font-size:var(--font-size-3xl);font-weight:900;margin-right:80px;white-space:nowrap}.ns-tech{background:#fafafa;background:var(--color-gray-50);color:#171717;color:var(--color-gray-900);padding:160px 0}.ns-tech__content{margin:0 auto;max-width:1440px;max-width:var(--container-width);padding:0 32px}.ns-tech__main{grid-gap:80px;align-items:center;display:grid;gap:80px;grid-template-columns:1fr 1fr;margin-bottom:120px}.ns-tech__title{color:#171717;color:var(--color-gray-900);font-size:96px;font-size:var(--font-size-5xl);font-weight:900;letter-spacing:-.025em;line-height:1.1;margin-bottom:48px}.ns-tech__description p{color:#525252;color:var(--color-gray-600);font-size:24px;font-size:var(--font-size-xl);font-weight:400;line-height:1.8;margin-bottom:32px}.ns-tech__image{border-radius:20px;box-shadow:0 20px 60px #0000001a;overflow:hidden;position:relative}.ns-tech__image img{height:400px;object-fit:cover;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition-smooth);width:100%}.ns-tech__image:hover img{transform:scale(1.05)}.ns-tech__cards{grid-gap:40px;display:grid;gap:40px;grid-template-columns:repeat(3,1fr)}.ns-tech-card{background:#fff;background:var(--color-white);border:1px solid #e5e5e5;border:1px solid var(--color-gray-200);border-radius:24px;box-shadow:0 4px 20px #0000000f;overflow:hidden;padding:0;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition-smooth)}.ns-tech-card:hover{border-color:#3b82f6;border-color:var(--color-primary-light);box-shadow:0 32px 80px #0000001f;transform:translateY(-16px)}.ns-tech-card__image{border-radius:0;height:200px;margin-bottom:0;overflow:hidden}.ns-tech-card__image img{height:100%;object-fit:cover;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition-smooth);width:100%}.ns-tech-card:hover .ns-tech-card__image img{transform:scale(1.1)}.ns-tech-card__content{padding:40px}.ns-tech-card__title{color:#171717;color:var(--color-gray-900);font-size:32px;font-size:var(--font-size-2xl);font-weight:800;letter-spacing:-.015em;margin-bottom:20px}.ns-tech-card__description{color:#525252;color:var(--color-gray-600);font-size:18px;font-size:var(--font-size-lg);font-weight:400;line-height:1.7}.ns-benefits{background:#171717;background:var(--color-gray-900);padding:160px 0;position:relative}.ns-benefits__content{margin:0 auto;max-width:1440px;max-width:var(--container-width);padding:0 32px;position:relative;z-index:1}.ns-benefits__main{grid-gap:80px;align-items:center;display:grid;gap:80px;grid-template-columns:1fr 1fr;margin-bottom:120px}.ns-benefits__title{color:#fff;color:var(--color-white);font-size:96px;font-size:var(--font-size-5xl);font-weight:900;letter-spacing:-.025em;line-height:1.1;margin-bottom:48px}.ns-benefits__description p{color:#d4d4d4;color:var(--color-gray-300);font-size:24px;font-size:var(--font-size-xl);font-weight:400;line-height:1.8;margin-bottom:32px}.ns-benefits__image{border-radius:20px;box-shadow:0 20px 60px #0000004d;overflow:hidden}.ns-benefits__image img{height:400px;object-fit:cover;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition-smooth);width:100%}.ns-benefits__image:hover img{transform:scale(1.05)}.ns-benefits__stats{grid-gap:40px;display:grid;gap:40px;grid-template-columns:repeat(4,1fr);margin-bottom:80px}.ns-stat{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:20px;padding:48px 32px;text-align:center;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition-smooth)}.ns-stat:hover{background:#ffffff14;border-color:#fff3;transform:translateY(-12px)}.ns-stat__number{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#fff,#e6f3ff);-webkit-background-clip:text;background-clip:text;color:#fff;color:var(--color-white);font-size:64px;font-size:var(--font-size-4xl);font-weight:900;margin-bottom:16px}.ns-stat__label{color:#ffffffe6;font-size:16px;font-size:var(--font-size-base);line-height:1.4}.ns-testimonial{-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:#ffffff1a;border-radius:20px;margin:0 auto;max-width:800px;padding:60px 40px;text-align:center}.ns-testimonial__quote{color:#fff;color:var(--color-white);font-size:24px;font-size:var(--font-size-xl);font-style:italic;line-height:1.6;margin-bottom:32px}.ns-testimonial__author{color:#fffc;font-size:16px;font-size:var(--font-size-base)}.ns-contact{background:#fff;background:var(--color-white);padding:160px 0;text-align:center}.ns-contact__content{margin:0 auto;max-width:800px;padding:0 32px}.ns-contact__title{color:#171717;color:var(--color-gray-900);font-size:96px;font-size:var(--font-size-5xl);font-weight:900;letter-spacing:-.025em;line-height:1.2;margin-bottom:48px}.ns-contact__title span{display:block}.ns-contact__description{margin-bottom:60px}.ns-contact__description p{color:#525252;color:var(--color-gray-600);font-size:24px;font-size:var(--font-size-xl);font-weight:400;line-height:1.8;margin-bottom:24px}.ns-contact__actions{margin-bottom:60px}.ns-contact__info{margin-top:40px}.ns-contact__info p{color:var(--color-gray);margin-bottom:8px}.ns-contact__email{color:#3b82f6;color:var(--color-primary-light);font-size:18px;font-size:var(--font-size-lg);font-weight:600;text-decoration:none}.ns-contact__email:hover{color:#2563eb;color:var(--color-primary);text-decoration:underline}.ns-footer{background:#0a0a0a;background:var(--color-black);border-top:1px solid #ffffff1a;padding:80px 0 40px}.ns-footer__container{margin:0 auto;max-width:1440px;max-width:var(--container-width);padding:0 32px}.ns-footer__logo{margin-bottom:60px;text-align:center}.ns-footer__logo-main{align-items:center;color:#fff;color:var(--color-white);display:inline-flex;font-size:32px;font-size:var(--font-size-2xl);font-weight:900;gap:16px}.ns-footer__logo-icon,.ns-footer__logo-main img{border-radius:8px;height:40px;width:40px}.ns-footer__logo-icon{align-items:center;background:linear-gradient(135deg,#2563eb,#3b82f6);background:linear-gradient(135deg,var(--color-primary),var(--color-primary-light));color:#fff;color:var(--color-white);display:flex;font-size:18px;font-weight:900;justify-content:center}.ns-footer__content{text-align:center}.ns-footer__links{display:flex;gap:80px;justify-content:center;margin-bottom:40px}.ns-footer__group h4{color:#fff;color:var(--color-white);font-size:18px;font-size:var(--font-size-lg);font-weight:700;margin-bottom:20px}.ns-footer__group a{color:var(--color-gray);display:block;margin-bottom:12px;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition-smooth)}.ns-footer__group a:hover{color:#3b82f6;color:var(--color-primary-light)}.ns-footer__copyright{border-top:1px solid #ffffff1a;color:var(--color-gray-dark);font-size:14px;font-size:var(--font-size-sm);padding-top:40px;text-align:center}.ns-progress{background:#ffffff1a;height:2px;left:0;position:fixed;top:0;width:100%;z-index:3000;z-index:var(--z-overlay)}.ns-progress__bar{background:linear-gradient(90deg,#2563eb,#3b82f6);background:linear-gradient(90deg,var(--color-primary),var(--color-primary-light));height:100%;transform-origin:left;transition:transform .1s ease-out}.ns-nav-dots{display:flex;flex-direction:column;gap:16px;position:fixed;right:40px;top:50%;transform:translateY(-50%);z-index:1000;z-index:var(--z-header)}.ns-nav-dot{background:#0000;border:2px solid #fff;border:2px solid var(--color-white);border-radius:50%;cursor:pointer;height:12px;opacity:.6;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition-smooth);width:12px}.ns-nav-dot.active,.ns-nav-dot:hover{opacity:1;transform:scale(1.2)}.ns-nav-dot.active{background:#2563eb;background:var(--color-primary)}@keyframes heroTitleReveal{0%{opacity:0;transform:translateY(100px)}to{opacity:1;transform:translateY(0)}}@keyframes scrollPulse{0%,to{opacity:.3}50%{opacity:1}}@keyframes marqueeScroll{0%{transform:translateX(0)}to{transform:translateX(-50%)}}@keyframes gradientShift{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.tech-world{animation:gradientShift 8s ease-in-out infinite;background:linear-gradient(45deg,#0a0a0a,#1a1a2e 20%,#16213e 40%,#0f3460 60%,#06c 80%,#4d94ff);background-size:400% 400%;height:100%;position:relative;width:100%}.robot-character{animation:robotFloat 6s ease-in-out infinite;height:160px;left:15%;position:absolute;top:20%;width:120px}.robot-head{background:linear-gradient(135deg,#4d94ff,#06c);border-radius:15px;box-shadow:0 0 20px #4d94ff80;height:60px;margin:0 auto 10px;position:relative;width:60px}.robot-eye{animation:robotBlink 3s infinite;background:#fff;border-radius:50%;height:8px;position:absolute;top:20px;width:8px}.robot-eye.left{left:15px}.robot-eye.right{right:15px}.robot-antenna{background:#4d94ff;height:15px;left:50%;position:absolute;top:-15px;transform:translateX(-50%);width:2px}.robot-antenna:after{animation:antennaBlink 2s infinite;background:#ff6b35;border-radius:50%;content:"";height:6px;left:-2px;position:absolute;top:-3px;width:6px}.robot-body{background:linear-gradient(135deg,#06c,#4d94ff);border-radius:10px;box-shadow:0 0 15px #06c6;height:60px;margin:0 auto 10px;position:relative;width:80px}.robot-chest-light{animation:chestPulse 2s infinite;background:#0f8;border-radius:50%;height:12px;left:50%;position:absolute;top:20px;transform:translateX(-50%);width:12px}.robot-arms{display:flex;justify-content:space-between;margin:0 auto;width:100px}.robot-arm{animation:armWave 4s ease-in-out infinite;background:linear-gradient(135deg,#06c,#4d94ff);border-radius:8px;height:40px;width:15px}.robot-arm.left{animation-delay:0s}.robot-arm.right{animation-delay:2s}.tech-elements{height:100%;left:0;position:absolute;top:0;width:100%}.tech-particle{animation:particleFloat var(--duration) ease-in-out infinite;animation-delay:var(--delay);background:#4d94ff;border-radius:50%;height:4px;position:absolute;width:4px}.tech-particle:first-child{left:30%;top:20%}.tech-particle:nth-child(2){left:70%;top:60%}.tech-particle:nth-child(3){left:20%;top:80%}.tech-particle:nth-child(4){left:80%;top:40%}.tech-particle:nth-child(5){left:50%;top:30%}.digital-grid{height:100%;left:0;opacity:.1;position:absolute;top:0;width:100%}.grid-line{animation:gridPulse 3s ease-in-out infinite;animation-delay:var(--delay);background:#4d94ff;position:absolute}.grid-line.horizontal{height:1px;width:100%}.grid-line.vertical{height:100%;width:1px}.grid-line.horizontal:first-child{top:20%}.grid-line.horizontal:nth-child(2){top:50%}.grid-line.horizontal:nth-child(3){top:80%}.grid-line.vertical:nth-child(4){left:25%}.grid-line.vertical:nth-child(5){left:50%}.grid-line.vertical:nth-child(6){left:75%}.data-orbs{height:100%;left:0;position:absolute;top:0;width:100%}.data-orb{animation:orbPulse 4s ease-in-out infinite;animation-delay:var(--delay);background:radial-gradient(circle,#0f8,#06c);border-radius:50%;box-shadow:0 0 15px #0f89;height:20px;left:var(--x);position:absolute;top:var(--y);width:20px}.code-streams{height:100%;left:0;position:absolute;top:0;width:100%}.code-stream{animation:streamMove 8s linear infinite;animation-delay:var(--delay);display:flex;flex-direction:column;gap:20px;left:var(--x);position:absolute;top:10%}.code-stream span{color:#4d94ff;font-family:Courier New,monospace;font-size:12px;font-weight:700;opacity:.7}@keyframes robotFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}@keyframes robotBlink{0%,90%,to{opacity:1}95%{opacity:0}}@keyframes antennaBlink{0%,50%{opacity:1}25%,75%{opacity:.3}}@keyframes chestPulse{0%,to{opacity:1;transform:translateX(-50%) scale(1)}50%{opacity:.6;transform:translateX(-50%) scale(1.2)}}@keyframes armWave{0%,to{transform:rotate(0deg)}50%{transform:rotate(15deg)}}@keyframes particleFloat{0%,to{opacity:.7;transform:translateY(0) scale(1)}50%{opacity:1;transform:translateY(-30px) scale(1.2)}}@keyframes gridPulse{0%,to{opacity:.1}50%{opacity:.3}}@keyframes orbPulse{0%,to{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.5)}}@keyframes streamMove{0%{opacity:0;transform:translateY(0)}10%{opacity:1}90%{opacity:1}to{opacity:0;transform:translateY(100vh)}}.ns-intro{background:linear-gradient(135deg,#2563eb,#06b6d4);background:linear-gradient(135deg,var(--color-primary) 0,var(--color-secondary) 100%);padding:140px 0;position:relative}.ns-intro:before{background:#0000000d;content:"";height:100%;left:0;position:absolute;top:0;width:100%;z-index:0}.ns-intro__content{margin:0 auto;max-width:1440px;max-width:var(--container-width);padding:0 32px;position:relative;z-index:1}.ns-intro__hero{grid-gap:60px;align-items:center;display:grid;gap:60px;grid-template-columns:auto 1fr;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition-smooth)}.ns-intro__logo,.ns-intro__logo-icon{align-items:center;display:flex;justify-content:center}.ns-intro__logo-icon{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fff3;border:2px solid #ffffff4d;border-radius:20px;box-shadow:0 20px 40px #0003;height:120px;width:120px}.ns-intro__logo-icon,.ns-intro__title{color:#fff;color:var(--color-white);font-size:48px;font-weight:900}.ns-intro__title{font-size:var(--font-size-3xl);line-height:1.2;margin-bottom:32px}.ns-intro__description p{color:#ffffffe6;font-size:18px;font-size:var(--font-size-lg);line-height:1.7;margin-bottom:24px}.ns-intro__actions{display:flex;gap:20px;margin-top:40px}@media (max-width:1024px){.ns-hero__title{font-size:clamp(60px,10vw,120px)}.ns-benefits__main,.ns-intro__hero,.ns-tech__main{gap:80px;grid-template-columns:1fr;text-align:center}.ns-tech__cards{gap:40px;grid-template-columns:1fr}.ns-benefits,.ns-tech{padding:120px 0}.ns-intro{padding:100px 0}.ns-contact{padding:120px 0}.ns-benefits__stats{grid-template-columns:repeat(2,1fr)}.ns-footer__links{flex-direction:column;gap:40px}.ns-nav-dots{display:none}}@media (max-width:768px){.ns-header__nav{display:none}.ns-intro__hero{gap:60px;grid-template-columns:1fr;text-align:center}.ns-intro__actions{align-items:center;flex-direction:column;gap:16px}.ns-marquee__text{font-size:24px;font-size:var(--font-size-xl)}.ns-benefits__stats{gap:24px;grid-template-columns:1fr}.ns-benefits__title,.ns-contact__title,.ns-tech__title{font-size:clamp(32px,8vw,48px)}.ns-benefits,.ns-contact,.ns-intro,.ns-tech{padding:80px 0}.ns-tech-card__content{padding:32px}.ns-stat{padding:40px 24px}}@media (max-width:480px){:root{--section-padding:80px 0}.ns-benefits__content,.ns-contact__content,.ns-footer__container,.ns-header__container,.ns-tech__content{padding:0 20px}.ns-hero__title{font-size:clamp(48px,12vw,80px)}.ns-btn{font-size:14px;font-size:var(--font-size-sm);padding:14px 24px}.ns-btn--large{font-size:16px;font-size:var(--font-size-base);padding:16px 32px}}.landing-section{position:relative}@supports (-webkit-appearance:none){html{scroll-behavior:auto}}.global-progress-bar-overlay{animation:slideInUp .3s ease-out;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,#667eea,#764ba2);border-top:3px solid #4f46e5;bottom:0;box-shadow:0 -4px 20px #00000026;left:0;position:fixed;right:0;z-index:9999}@keyframes slideInUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.global-progress-bar-container{color:#fff;font-family:Arial,sans-serif;padding:20px 30px;position:relative}.progress-close-btn{align-items:center;background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:16px;height:30px;justify-content:center;position:absolute;right:15px;top:10px;transition:all .2s ease;width:30px}.progress-close-btn:hover{background:#ffffff4d;transform:scale(1.1)}.progress-content{display:flex;flex-direction:column;gap:16px}.progress-header{text-align:center}.progress-title{font-size:18px;font-weight:700;margin-bottom:4px;text-shadow:0 1px 3px #0000004d}.progress-subtitle{color:#e0e7ff;font-size:14px;opacity:.9}.progress-main{display:flex;flex-direction:column;gap:12px}.progress-bar-wrapper{align-items:center;display:flex;gap:16px}.progress-bar{background:#fff3;flex:1 1;height:12px}.progress-bar,.progress-fill{border-radius:6px;overflow:hidden;position:relative}.progress-fill{background:linear-gradient(90deg,#10b981,#059669 50%,#047857);height:100%;transition:width .5s ease}.progress-fill:before{animation:shimmer 1.5s infinite;background:linear-gradient(90deg,#0000,#fff6,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;width:100%}@keyframes shimmer{0%{left:-100%}to{left:100%}}.progress-percentage{font-size:16px;font-weight:700;min-width:50px;text-align:right;text-shadow:0 1px 3px #0000004d}.progress-details{display:flex;flex-direction:column;gap:6px;text-align:center}.progress-step{color:#e0e7ff;font-size:14px;font-weight:500}.progress-time{color:#c7d2fe;font-size:12px;opacity:.8}.progress-steps{gap:8px;margin-top:8px}.progress-steps,.step-indicator{display:flex;justify-content:center}.step-indicator{align-items:center;border:2px solid #0000;border-radius:50%;font-size:12px;font-weight:700;height:32px;transition:all .3s ease;width:32px}.step-indicator.completed{background:#10b981;border-color:#059669;box-shadow:0 2px 8px #10b98166;color:#fff}.step-indicator.current{animation:pulse 1s infinite;background:#f59e0b;border-color:#d97706;box-shadow:0 2px 8px #f59e0b66;color:#fff}.step-indicator.pending{background:#fff3;border-color:#ffffff4d;color:#c7d2fe}@keyframes pulse{0%,to{box-shadow:0 2px 8px #f59e0b66;transform:scale(1)}50%{box-shadow:0 4px 16px #f59e0b99;transform:scale(1.1)}}.progress-result{padding:20px 0;text-align:center}.result-error,.result-success{align-items:center;display:flex;flex-direction:column;gap:12px}.result-icon{font-size:48px;margin-bottom:8px}.result-title{font-size:24px;font-weight:700;text-shadow:0 1px 3px #0000004d}.result-details{color:#e0e7ff;display:flex;flex-direction:column;font-size:14px;gap:6px;opacity:.9}.result-error .result-title{color:#fecaca}.result-error .error-message{color:#fed7d7;font-style:italic;max-width:400px}@media (max-width:768px){.global-progress-bar-container{padding:16px 20px}.progress-title{font-size:16px}.progress-subtitle{font-size:12px}.progress-steps{gap:6px}.step-indicator{font-size:11px;height:28px;width:28px}.result-icon{font-size:36px}.result-title{font-size:20px}}@media (max-width:480px){.global-progress-bar-container{padding:12px 16px}.progress-bar-wrapper{gap:12px}.progress-percentage{font-size:14px;min-width:40px}.progress-steps{gap:4px}.step-indicator{font-size:10px;height:24px;width:24px}}.refresh-warning{align-items:center;animation:warningPulse 2s ease-in-out infinite;background:#ef444433;border:2px solid #ef4444;border-radius:8px;display:flex;gap:12px;margin-bottom:16px;padding:12px 16px}.warning-icon{animation:shake .5s ease-in-out infinite alternate;flex-shrink:0;font-size:24px}.warning-text{display:flex;flex-direction:column;gap:4px}.warning-text strong{color:#fecaca;font-size:14px;font-weight:700;text-shadow:0 1px 2px #0000004d}.warning-text span{color:#fdd1d1;font-size:12px;opacity:.9}@keyframes warningPulse{0%,to{border-color:#ef4444;box-shadow:0 0 0 0 #ef444466}50%{border-color:#dc2626;box-shadow:0 0 0 8px #ef444400}}@keyframes shake{0%{transform:translateX(0)}to{transform:translateX(2px)}}@media (max-width:768px){.refresh-warning{gap:10px;padding:10px 12px}.warning-icon{font-size:20px}.warning-text strong{font-size:13px}.warning-text span{font-size:11px}}@media (max-width:480px){.refresh-warning{gap:8px;padding:8px 10px}.warning-icon{font-size:18px}.warning-text strong{font-size:12px}.warning-text span{font-size:10px}}.login-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;justify-content:center;min-height:100vh;padding:20px}.login-card{animation:fadeInUp .6s ease-out;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffffff2;border:1px solid #fff3;border-radius:20px;box-shadow:0 20px 40px #0000001a;max-width:400px;padding:40px;width:100%}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.login-header{margin-bottom:30px;text-align:center}.login-header h1{color:#2d3748;font-size:24px;font-weight:700;margin:0 0 8px}.login-header p{color:#718096;font-size:16px;margin:0}.error-message{align-items:center;background:#fed7d7;border:1px solid #feb2b2;border-radius:12px;color:#c53030;display:flex;font-size:14px;gap:10px;margin-bottom:20px;padding:12px 16px}.error-message svg{flex-shrink:0}.login-content{margin-bottom:30px}.google-login-section{display:flex;flex-direction:column;gap:20px}.google-login-button{align-items:center;background:#fff;border:2px solid #e2e8f0;border-radius:12px;color:#2d3748;cursor:pointer;display:flex;font-size:16px;font-weight:600;gap:12px;justify-content:center;padding:14px 20px;text-decoration:none;transition:all .2s ease;width:100%}.google-login-button:hover:not(:disabled){background:#f7fafc;border-color:#cbd5e0;box-shadow:0 8px 16px #0000001a;transform:translateY(-2px)}.google-login-button:disabled{cursor:not-allowed;opacity:.6;transform:none}.divider{margin:20px 0;position:relative;text-align:center}.divider:before{background:#e2e8f0;content:"";height:1px;left:0;position:absolute;right:0;top:50%}.divider span{background:#fffffff2;color:#718096;font-size:14px;padding:0 20px;position:relative;z-index:1}.traditional-login-toggle{background:#0000;border:1px solid #e2e8f0;border-radius:12px;color:#4a5568;cursor:pointer;font-size:14px;padding:12px 20px;transition:all .2s ease;width:100%}.traditional-login-toggle:hover{background:#f7fafc;border-color:#cbd5e0}.traditional-login-section{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{color:#2d3748;font-size:14px;font-weight:600}.form-group input{background:#fff;border:2px solid #e2e8f0;border-radius:12px;font-size:16px;padding:12px 16px;transition:all .2s ease}.form-group input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.form-group input:disabled{background:#f7fafc;opacity:.6}.form-group input::placeholder{color:#a0aec0}.login-submit-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:14px 20px;transition:all .2s ease;width:100%}.login-submit-button:hover:not(:disabled){box-shadow:0 8px 16px #667eea4d;transform:translateY(-2px)}.login-submit-button:disabled{cursor:not-allowed;opacity:.6;transform:none}.back-to-google-button{background:#0000;border:1px solid #e2e8f0;border-radius:12px;color:#4a5568;cursor:pointer;font-size:14px;padding:12px 20px;transition:all .2s ease;width:100%}.back-to-google-button:hover{background:#f7fafc;border-color:#cbd5e0}.login-footer{border-top:1px solid #e2e8f0;padding-top:20px;text-align:center}.login-footer p{color:#718096;font-size:12px;margin:0}@media (hover:none) and (pointer:coarse){.google-login-button:hover:not(:disabled),.login-submit-button:hover:not(:disabled){box-shadow:none;transform:none}.google-login-button:active:not(:disabled){background:#f1f5f9;transform:scale(.98)}.login-submit-button:active:not(:disabled){filter:brightness(.95);transform:scale(.98)}.back-to-google-button:active,.traditional-login-toggle:active{background:#f1f5f9;transform:scale(.98)}}@media (max-width:768px){.login-container{padding:16px}.login-card{margin:0 8px;max-width:100%;padding:32px 24px}.back-to-google-button,.google-login-button,.login-submit-button,.traditional-login-toggle{font-size:16px;min-height:48px;padding:14px 20px}.form-group input{font-size:16px;min-height:48px;padding:12px 16px}.back-to-google-button,.google-login-button,.login-submit-button,.traditional-login-toggle{-webkit-tap-highlight-color:rgba(0,0,0,.1);touch-action:manipulation}}@media (max-width:480px){.login-container{padding:12px}.login-card{border-radius:16px;margin:0 4px;padding:24px 20px}.login-header h1{font-size:20px}.login-header p{font-size:14px}.back-to-google-button,.google-login-button,.login-submit-button,.traditional-login-toggle{font-size:15px;min-height:44px;padding:12px 16px}.form-group input{font-size:15px;min-height:44px;padding:10px 14px}.google-login-section,.traditional-login-section{gap:16px}.form-group{gap:6px}.error-message{font-size:13px;margin-bottom:16px;padding:10px 14px}}.google-login-button:disabled,.login-submit-button:disabled{overflow:hidden;position:relative}.google-login-button:disabled:after,.login-submit-button:disabled:after{animation:loading 1.5s infinite;background:linear-gradient(90deg,#0000,#ffffff4d,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;width:100%}@keyframes loading{0%{left:-100%}to{left:100%}}.back-to-google-button:focus,.form-group input:focus,.google-login-button:focus,.login-submit-button:focus,.traditional-login-toggle:focus{outline:2px solid #667eea;outline-offset:2px}@media (prefers-color-scheme:dark){.login-card{background:#1a202cf2;border:1px solid #ffffff1a}.login-card,.login-header h1{color:#e2e8f0}.login-header p{color:#a0aec0}.google-login-button{background:#2d3748;border-color:#4a5568;color:#e2e8f0}.google-login-button:hover:not(:disabled){background:#1a202c;border-color:#718096}.form-group input{background:#2d3748;border-color:#4a5568;color:#e2e8f0}.form-group input:focus{background:#1a202c;border-color:#667eea}.back-to-google-button,.traditional-login-toggle{background:#0000;border-color:#4a5568;color:#a0aec0}.back-to-google-button:hover,.traditional-login-toggle:hover{background:#2d3748;border-color:#718096}.divider:before{background:#4a5568}.divider span{background:#1a202cf2;color:#a0aec0}}
/*# sourceMappingURL=main.d0b27519.css.map*/