.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f5f7fa 0%,#e8eef3 100%);padding:var(--space-4,1rem);position:relative;overflow:hidden}.login-page::before{content:'';position:absolute;top:0;left:0;width:100%;height:100%;background-image:radial-gradient(circle at 10% 20%,rgba(74,124,35,0.08) 0%,transparent 50%),radial-gradient(circle at 80% 10%,rgba(61,107,31,0.06) 0%,transparent 40%),radial-gradient(circle at 40% 80%,rgba(45,80,22,0.07) 0%,transparent 45%),radial-gradient(circle at 90% 70%,rgba(74,124,35,0.05) 0%,transparent 35%),radial-gradient(circle at 20% 60%,rgba(61,107,31,0.06) 0%,transparent 38%),radial-gradient(circle at 70% 50%,rgba(45,80,22,0.05) 0%,transparent 42%),radial-gradient(circle at 50% 30%,rgba(74,124,35,0.04) 0%,transparent 30%),radial-gradient(circle at 15% 85%,rgba(61,107,31,0.07) 0%,transparent 48%);animation:bubbles 30s ease-in-out infinite;pointer-events:none;z-index:0}@keyframes bubbles{0%{background-position:10% 20%,80% 10%,40% 80%,90% 70%,20% 60%,70% 50%,50% 30%,15% 85%;background-size:300px 300px,200px 200px,250px 250px,180px 180px,220px 220px,190px 190px,160px 160px,280px 280px}25%{background-position:15% 25%,75% 15%,45% 75%,85% 65%,25% 55%,65% 55%,55% 25%,20% 80%;background-size:320px 320px,220px 220px,270px 270px,200px 200px,240px 240px,210px 210px,180px 180px,300px 300px}50%{background-position:20% 30%,70% 20%,50% 70%,80% 60%,30% 50%,60% 60%,60% 20%,25% 75%;background-size:280px 280px,240px 240px,230px 230px,220px 220px,200px 200px,230px 230px,200px 200px,260px 260px}75%{background-position:15% 35%,75% 25%,45% 65%,85% 55%,25% 45%,65% 65%,55% 15%,20% 70%;background-size:310px 310px,210px 210px,260px 260px,190px 190px,230px 230px,200px 200px,170px 170px,290px 290px}100%{background-position:10% 20%,80% 10%,40% 80%,90% 70%,20% 60%,70% 50%,50% 30%,15% 85%;background-size:300px 300px,200px 200px,250px 250px,180px 180px,220px 220px,190px 190px,160px 160px,280px 280px}}.login-card-container{width:100%;max-width:1400px;margin:0 auto;position:relative;z-index:1}.brand-section{text-align:center;margin-bottom:var(--space-6,2rem)}.brand-container{display:flex;align-items:center;justify-content:center;gap:var(--space-3,0.75rem)}.brand-logo{width:72px;height:72px;object-fit:contain}.brand-name{font-size:var(--text-3xl,1.875rem);font-weight:700;color:var(--primary-600,#2d5016);margin:0;text-decoration:none}.brand-link:hover{transform:scale(1.05);text-decoration:none}.login-section{width:100%}.login-card{display:grid;grid-template-columns:1fr;background:white;border-radius:var(--radius-2xl,16px);overflow:hidden;box-shadow:var(--shadow-xl,0 20px 25px -5px rgba(0,0,0,0.1),0 10px 10px -5px rgba(0,0,0,0.04))}.login-decoration{display:none;background:linear-gradient(135deg,var(--primary-600,#2d5016) 0%,var(--primary-700,#234011) 100%);color:white;padding:var(--space-12);position:relative;overflow:hidden}.welcome-title{color:white;font-size:var(--text-3xl);font-weight:700}.welcome-subtitle{color:white;font-size:var(--text-base);opacity:0.95;margin:0 0 var(--space-6);line-height:1.6}.decoration-features{color:white;list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-6,1.5rem)}.feature-item{color:white;display:flex;align-items:center;gap:var(--space-3,1rem);font-size:var(--text-lg,1.125rem);padding:var(--space-3,1rem);background:rgba(255,255,255,0.1);border-radius:var(--radius-lg,8px);backdrop-filter:blur(10px);transition:all var(--transition-base,0.3s ease)}.feature-item:hover{background:rgba(255,255,255,0.15);transform:translateX(8px)}.feature-item span{color:white}.feature-item i{width:24px;color:white;font-size:var(--text-lg);opacity:0.9}.login-form-section{padding:var(--space-8,2rem)}.login-form-section .form-header{text-align:center;margin-bottom:var(--space-6);padding:0}.login-form-section .form-title{font-size:var(--text-3xl,1.875rem);font-weight:700;color:var(--primary-600,#2d5016);margin:0}.alert{display:flex;align-items:center;gap:var(--space-3,0.75rem);padding:var(--space-4,1rem);border-radius:var(--radius-lg,8px);margin-bottom:var(--space-6,1.5rem);font-size:var(--text-sm,0.875rem);line-height:1.5}.alert i{font-size:var(--text-lg,1.125rem);flex-shrink:0}.alert-error{background:#fef2f2;color:#991b1b;border:1px solid #fee2e2}.alert-warning{background:#fffbeb;color:#92400e;border:1px solid #fef3c7}.alert-info{background:#eff6ff;color:#1e40af;border:1px solid #dbeafe}.login-form{display:flex;flex-direction:column;gap:var(--space-3)}.form-group{display:flex;flex-direction:column;gap:var(--space-1,0.5rem)!important}.input-wrapper{position:relative;display:flex;align-items:center}.input-icon{position:absolute;left:var(--space-3,1rem);color:var(--primary-400,#4a7c23);font-size:var(--text-lg,1.125rem);pointer-events:none;z-index:1}.form-input{width:100%!important;padding:var(--space-3,1rem) var(--space-3,1rem) var(--space-3,1rem) var(--space-12,3rem)!important;font-size:var(--text-base,1rem);color:var(--neutral-900,#111827)!important;background:var(--neutral-50,#f9fafb);border:1px solid var(--neutral-200,#e5e7eb)!important;border-radius:var(--radius-base)!important;transition:all var(--transition-base,0.3s ease);outline:none}.form-input:focus{background:white;border-color:var(--primary-500,#3d6b1f);box-shadow:0 0 0 4px rgba(61,107,31,0.1)}.form-input.error{border-color:#ef4444;background:#fef2f2}.form-input.error:focus{box-shadow:0 0 0 4px rgba(239,68,68,0.1)}.form-input::placeholder{color:var(--neutral-500);font-size:var(--text-sm);font-family:inherit;line-height:inherit;font-weight:inherit;opacity:1}.form-input::-webkit-input-placeholder{color:var(--neutral-500);font-size:var(--text-sm);font-family:inherit;line-height:inherit;font-weight:inherit;opacity:1}.form-input::-moz-placeholder{color:var(--neutral-500);font-size:var(--text-sm);font-family:inherit;line-height:inherit;font-weight:inherit;opacity:1}.form-input:-ms-input-placeholder{color:var(--neutral-500);font-size:var(--text-sm);font-family:inherit;line-height:inherit;font-weight:inherit;opacity:1}.form-input:-webkit-autofill,.form-input:-webkit-autofill:hover,.form-input:-webkit-autofill:focus,.form-input:-webkit-autofill:active{-webkit-box-shadow:0 0 0 30px var(--neutral-50,#f9fafb) inset!important;-webkit-text-fill-color:var(--neutral-900,#111827)!important;background-color:var(--neutral-50,#f9fafb)!important;transition:background-color 5000s ease-in-out 0s}.form-input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 30px white inset,0 0 0 4px rgba(61,107,31,0.1)!important;background-color:white!important}.password-toggle{position:absolute;right:var(--space-4,1rem);background:none;border:none;color:var(--primary-500,#3d6b1f);cursor:pointer;transition:all var(--transition-fast,0.15s ease);border-radius:var(--radius-md,6px);display:flex;align-items:center;justify-content:center;z-index:1}.password-toggle:hover{background:var(--neutral-100,#f3f4f6);color:var(--primary-600,#2d5016)}.password-toggle:active{transform:scale(0.95)}.password-toggle i{font-size:var(--text-lg,1.125rem)}.error-message{display:flex;align-items:center;gap:var(--space-2,0.5rem);color:var(--danger-600);font-size:var(--text-sm,0.875rem);padding-left:var(--space-2,0.5rem)}.error-message span{color:var(--danger-600)}.error-message i{color:var(--danger-600);font-size:var(--text-sm,1.5rem)}.form-options{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-4,1rem)}.checkbox-wrapper{display:flex;align-items:center;gap:var(--space-2,0.5rem);cursor:pointer;user-select:none;position:relative}.checkbox-wrapper input[type="checkbox"]{position:absolute;opacity:0;cursor:pointer}.checkmark{width:20px;height:20px;border:2px solid var(--neutral-300,#d1d5db);border-radius:var(--radius-sm,4px);background:white;transition:all var(--transition-fast,0.15s ease);position:relative;flex-shrink:0}.checkmark::after{content:'';position:absolute;display:none;left:5px;top:2px;width:5px;height:10px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.checkbox-wrapper input[type="checkbox"]:checked~.checkmark{background:var(--primary-600,#2d5016);border-color:var(--primary-600,#2d5016)}.checkbox-wrapper input[type="checkbox"]:checked~.checkmark::after{display:block}.checkbox-wrapper:hover .checkmark{border-color:var(--primary-500,#3d6b1f)}.checkbox-label{font-size:var(--text-sm,0.875rem);color:var(--neutral-700,#374151)}.forgot-link{font-size:var(--text-sm,0.875rem);color:var(--primary-600,#2d5016);text-decoration:none;transition:color var(--transition-fast,0.15s ease)}.forgot-link:hover{color:var(--primary-700,#234011);text-decoration:underline}.login-button{width:100%;padding:var(--space-3,1rem);background:linear-gradient(135deg,var(--primary-600,#2d5016) 0%,var(--primary-700,#234011) 100%);color:white;border:none;border-radius:var(--radius-lg,8px);font-size:var(--text-lg,1.125rem);font-weight:600;cursor:pointer;transition:all var(--transition-base,0.3s ease);display:flex;align-items:center;justify-content:center;gap:var(--space-3,0.75rem);box-shadow:0 4px 6px -1px rgba(0,0,0,0.1),0 2px 4px -1px rgba(0,0,0,0.06);position:relative;overflow:hidden}.login-button::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.2),transparent);transition:left var(--transition-slow,0.5s ease)}.login-button:hover{transform:translateY(-2px);box-shadow:0 10px 15px -3px rgba(0,0,0,0.1),0 4px 6px -2px rgba(0,0,0,0.05)}.login-button:hover::before{left:100%}.login-button:active{transform:translateY(0)}.login-button:disabled{opacity:0.6;cursor:not-allowed;transform:none}.login-button span{color:white}.login-button i{width:24px;font-size:var(--text-xl,1.25rem);color:white}.login-button.loading .button-text{opacity:0.7}.login-button.loading::after{content:'';position:absolute;right:var(--space-4,1rem);width:var(--space-4);height:var(--space-4);border:2px solid rgba(255,255,255,0.3);border-top-color:white;border-radius:50%;animation:spin 0.6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.form-footer{text-align:center;margin-top:var(--space-6,1.5rem);padding-top:var(--space-3);border-top:1px solid var(--neutral-200,#e5e7eb)}.register-prompt{font-size:var(--text-sm,0.875rem);color:var(--neutral-600,#4b5563);margin:0}.register-link{color:var(--primary-600,#2d5016);text-decoration:none;font-weight:600;transition:color var(--transition-fast,0.15s ease)}.register-link:hover{color:var(--primary-700,#234011);text-decoration:underline}@media (min-width:768px){.login-page{padding:var(--space-8,2rem)}.login-card{grid-template-columns:5fr 7fr}.login-decoration{display:flex;flex-direction:column;justify-content:center}.login-form-section{padding:var(--space-12)}.form-header{margin-bottom:var(--space-6,2.5rem)}.brand-logo{width:var(--space-12);height:var(--space-12)}.brand-name{font-size:var(--text-4xl,2.25rem)}}@media (min-width:1024px){.login-card{grid-template-columns:1fr 1fr}.login-decoration{padding:var(--space-12)}.login-form-section{padding:var(--space-12)}.welcome-title{font-size:var(--text-5xl,3rem)}.decoration-features{gap:var(--space-6)}}@media (min-width:1366px){.login-card-container{max-width:1000px}.brand-logo{width:var(--space-16);height:var(--space-16)}}@media (prefers-reduced-motion:no-preference){.login-card{animation:slideUp 0.5s ease-out}.brand-section{animation:fadeIn 0.3s ease-out}@keyframes slideUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{from{opacity:0}to{opacity:1}}}@media print{.login-page{background:white}.login-decoration,.form-footer{display:none}.login-card{box-shadow:none;border:1px solid #ddd}}@media (prefers-color-scheme:dark){}*:focus-visible{outline:2px solid var(--primary-500,#3d6b1f);outline-offset:2px}.font-medium{font-weight:var(--font-weight-medium)}.font-semibold{font-weight:var(--font-weight-semibold)}.font-bold{font-weight:var(--font-weight-bold)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-primary{color:var(--text-color-brand)}.text-secondary{color:var(--text-color-secondary)}.text-danger{color:var(--error-600)}.text-muted{font-size:var(--text-xs);color:var(--text-color-tertiary)}.text-sm{font-size:var(--text-sm)}.text-ty{font-size:var(--text-ty);color:var(--text-color-tertiary)}.container{width:100%;max-width:1920px;margin:0 auto;padding:0 var(--space-20)}@media (max-width:767px){.container{width:100%;margin:0 auto;padding:0 var(--space-4)}}@media (min-width:768px){.container{padding:0 var(--space-8)}}@media (min-width:1024px){.container{padding:0 var(--space-12)}}@media (min-width:1366px){.container{padding:0 var(--space-16)}}@media (min-width:1920px){.container{max-width:1920px;padding:0 var(--space-18)}}.hidden{display:none}.d-none{display:none!important}.disabled{opacity:0.5;pointer-events:none;cursor:not-allowed}.cursor-pointer{cursor:pointer}.avatar-circle-sm{width:32px;height:32px;border-radius:50%;object-fit:cover}.w-10{width:10%!important}.w-20{width:20%!important}.w-40{width:40%!important}.w-60{width:60%!important}.w-80{width:80%!important}.w-full{width:100%!important}.max-w-xs{max-width:var(--space-80)}.max-w-none{max-width:none}.h-10{height:10%!important}.h-20{height:20%!important}.h-40{height:40%!important}.h-60{height:60%!important}.h-80{height:80%!important}.h-full{height:100%!important}.bg-loaded{background-image:var(--bg-image);background-size:cover;background-position:center;background-repeat:no-repeat}.border{border:1px solid var(--neutral-200)}.border-none{border:none}.rounded-base{border-radius:var(--radius-base)}.rounded-md{border-radius:var(--radius-base)}.rounded-lg{border-radius:var(--radius-lg)}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:var(--shadow-md)}.temp-hidden-element{position:fixed!important;left:-999999px!important;top:-999999px!important;opacity:0!important;pointer-events:none!important;visibility:hidden!important}.is-position-static{position:static!important}.is-position-relative{position:relative!important}.is-position-absolute{position:absolute!important}.is-position-fixed{position:fixed!important}.is-position-sticky{position:sticky!important}.is-visibility-visible{visibility:visible!important}.is-visibility-hidden{visibility:hidden!important}.main-content{background-size:cover;background-repeat:no-repeat}.content-area p{margin-bottom:var(--space-4)}.content-area ul,.content-area ol{margin:var(--space-4) 0;padding-left:var(--space-6);line-height:var(--line-height-relaxed)}.content-area ul li{position:relative;margin-bottom:var(--space-2);color:var(--neutral-700)}.content-area ul li::before{content:'•';color:var(--primary-500);font-weight:bold;position:absolute;left:calc(-1 * var(--space-4))}.content-area ol{counter-reset:list-counter}.content-area ol li{counter-increment:list-counter;margin-bottom:var(--space-2);color:var(--neutral-700);position:relative}.content-area ol li::before{content:counter(list-counter) '.';color:var(--primary-600);font-weight:var(--font-weight-semibold);position:absolute;left:calc(-1 * var(--space-6));width:var(--space-5);text-align:start}.text-truncate{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;width:100%}.text-truncate-2{display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.text-truncate-3{display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.text-nowrap{white-space:nowrap!important}.text-ellipsis{text-overflow:ellipsis!important;overflow:hidden!important}.skeleton{background:linear-gradient(90deg,var(--neutral-200) 25%,var(--neutral-100) 50%,var(--neutral-200) 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite;border-radius:var(--radius-base)}.skeleton-text{height:1em;margin-bottom:var(--space-2)}.skeleton-text:last-child{margin-bottom:0}.skeleton-text-sm{height:0.875em}.skeleton-text-lg{height:1.25em}.skeleton-title{height:1.5em;width:60%;margin-bottom:var(--space-3)}.skeleton-avatar{width:var(--space-10);height:var(--space-10);border-radius:var(--radius-full)}.skeleton-avatar-sm{width:var(--space-6);height:var(--space-6)}.skeleton-avatar-lg{width:var(--space-16);height:var(--space-16)}.skeleton-image{width:100%;height:var(--space-50);border-radius:var(--radius-lg)}.skeleton-image-sm{height:var(--space-30)}.skeleton-image-lg{height:var(--space-80)}.skeleton-button{height:var(--space-9);width:var(--space-20);border-radius:var(--radius-base)}.skeleton-button-sm{height:var(--space-7);width:var(--space-15)}.skeleton-button-lg{height:44px;width:100px}.skeleton-card{padding:var(--space-4);border-radius:var(--radius-lg);border:1px solid var(--neutral-200)}.skeleton-card-header{display:flex;align-items:center;margin-bottom:var(--space-3)}.skeleton-card-header .skeleton-avatar{margin-right:var(--space-3)}.skeleton-card-body{margin-bottom:var(--space-3)}.skeleton-card-footer{display:flex;justify-content:flex-end;gap:var(--space-2)}.skeleton-list{display:flex;flex-direction:column;gap:var(--space-3)}.skeleton-list-item{display:flex;align-items:center;padding:var(--space-3);border-radius:var(--radius-base);border:1px solid var(--neutral-200)}.skeleton-list-item .skeleton-avatar{margin-right:var(--space-3)}.skeleton-list-item .skeleton-text{flex:1}.backtop{position:fixed;bottom:var(--space-6);right:var(--space-6);width:var(--space-12);height:var(--space-12);display:flex;align-items:center;justify-content:center;background-color:var(--white);border:1px solid var(--neutral-200);border-radius:var(--radius-full);box-shadow:var(--shadow-lg);color:var(--primary-600);cursor:pointer;opacity:0;visibility:hidden;transform:translateY(20px);transition:background-color var(--transition-base),transform var(--transition-base),opacity var(--transition-base);z-index:var(--z-index-fixed)}.backtop.visible{opacity:1;visibility:visible;transform:translateY(0)}.backtop:hover{background-color:var(--primary-600);color:var(--white);transform:translateY(-4px);box-shadow:var(--shadow-xl)}.backtop:hover i{color:var(--white);font-size:var(--text-sm)}.list{background-color:var(--white);border-radius:var(--radius-lg);overflow:hidden}.list-bordered{border:1px solid var(--neutral-200)}.list-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4);background-color:var(--neutral-50);border-bottom:1px solid var(--neutral-200);font-weight:var(--font-weight-semibold);color:var(--neutral-700)}.list-item{display:flex;align-items:center;padding:var(--space-4);border-bottom:1px solid var(--neutral-100);transition:background-color var(--transition-base)}.list-item:last-child{border-bottom:none}.list-item:hover{background-color:var(--neutral-50)}.list-item-clickable{cursor:pointer}.list-item-clickable:active{background-color:var(--neutral-100)}.list-item-meta{display:flex;align-items:center;gap:var(--space-3);flex:1}.list-item-avatar{flex-shrink:0;width:var(--space-12);height:var(--space-12);border-radius:var(--radius-base);overflow:hidden;background-color:var(--neutral-100);display:flex;align-items:center;justify-content:center}.list-item-avatar img{width:100%;height:100%;object-fit:cover}.list-item-content{flex:1;min-width:0}.list-item-title{font-weight:var(--font-weight-semibold);color:var(--neutral-700);margin-bottom:var(--space-1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.list-item-description{font-size:var(--text-sm);color:var(--text-color-secondary);line-height:1.5}.list-item-extra{flex-shrink:0;margin-left:var(--space-3);color:var(--text-color-secondary);font-size:var(--text-sm)}.list-item-actions{display:flex;gap:var(--space-2);margin-left:var(--space-3)}.list-item-action{color:var(--primary-600);cursor:pointer;transition:color var(--transition-base);font-size:var(--text-sm)}.list-item-action:hover{color:var(--primary-700)}.list-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:var(--space-4);padding:var(--space-4)}.list-grid .list-item{border:1px solid var(--neutral-200);border-radius:var(--radius-base);flex-direction:column;align-items:stretch;padding:var(--space-4)}.list-grid .list-item:hover{box-shadow:var(--shadow-hover);transform:translateY(-2px)}.list-sm .list-item{padding:var(--space-2) var(--space-3)}.list-sm .list-item-avatar{width:var(--space-8);height:var(--space-8)}.list-sm .list-item-title{font-size:var(--text-sm)}.list-lg .list-item{padding:var(--space-5) var(--space-6)}.list-lg .list-item-avatar{width:var(--space-16);height:var(--space-16)}.list-split .list-item{border-bottom:2px solid var(--neutral-200)}.btn svg,.btn i[class*="fa-"]{vertical-align:baseline}.btn{background:unset;display:inline-flex;align-items:center;justify-content:center;padding:var(--space-2) var(--space-3);font-size:var(--text-sm);font-weight:var(--font-weight-medium);border:1px solid transparent;border-radius:var(--radius-base);cursor:pointer;transition:background-color var(--transition-base),transform var(--transition-base),box-shadow var(--transition-base),border-color var(--transition-base),color var(--transition-base);text-decoration:none;user-select:none;white-space:nowrap;color:var(--neutral-600);line-height:1}.btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-hover)}.btn:active:not(:disabled){transform:translateY(0);box-shadow:var(--shadow-active)}.btn:focus-visible{outline:none;box-shadow:var(--state-focus-ring)}.btn:disabled{background-color:var(--state-disabled-bg);border-color:var(--state-disabled-border);color:var(--state-disabled-text);opacity:var(--state-disabled-opacity);cursor:var(--state-disabled-cursor);pointer-events:none}.btn-lg{height:var(--control-height-lg);padding:0 var(--space-4);font-size:var(--text-xl)}.btn-md{height:var(--control-height-base);padding:0 var(--space-3);font-size:var(--text-base)}.btn-sm{height:var(--control-height-sm);padding:0 var(--space-3);font-size:var(--text-sm)}.btn-xs{padding:var(--space-1) var(--space-2);font-size:var(--text-xs)}.btn-ty{padding:var(--space-1) var(--space-2);font-size:var(--text-ty)}.btn-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:var(--space-2)}.btn-grid button{width:100%;margin:0}.btn-icon{font-size:var(--text-sm);padding:var(--space-2);border:1px solid var(--neutral-200);aspect-ratio:1 / 1}.btn-text{background-color:transparent;color:var(--neutral-600);border-color:transparent}.btn-text:hover{color:var(--neutral-700);text-decoration:none}.btn-text.active{background-color:var(--primary-100);color:var(--primary-600);font-weight:var(--font-weight-bold);text-decoration:none}.btn-action-base{background-color:var(--neutral-100);color:var(--neutral-700);border-color:var(--neutral-300)}.btn-action-base i{color:var(--neutral-600)}.btn-action-base:hover{background-color:var(--neutral-200);color:var(--neutral-800);text-decoration:none}.btn-primary{background-color:var(--primary-600);color:var(--white);border-color:var(--primary-600)}.btn-primary i{color:var(--white)}.btn-primary:hover{background-color:var(--primary-700);transform:translateY(-1px);box-shadow:var(--shadow-hover);color:var(--white);text-decoration:none}.btn-secondary{background-color:var(--white);color:var(--neutral-700);border-color:var(--neutral-300)}.btn-secondary i{color:var(--neutral-700)}.btn-secondary.active{background-color:var(--primary-50);color:var(--primary-600);border:1px solid var(--primary-300);text-decoration:none}.btn-secondary:hover{background-color:var(--neutral-300);color:var(--neutral-700);text-decoration:none}.btn-primary-light{background-color:var(--primary-50);color:var(--primary-700);border-color:var(--primary-400)}.btn-primary-light:hover{background-color:var(--primary-100);color:var(--primary-700);text-decoration:none}.btn-primary-light.active{background-color:var(--primary-600);color:var(--white);text-decoration:none}.btn-outline{background-color:transparent;color:var(--neutral-600);border-color:var(--neutral-300)}.btn-outline:hover{background-color:var(--neutral-200);color:var(--neutral-700);text-decoration:none}.btn-outline.active{background-color:var(--primary-100);color:var(--primary-600);font-weight:var(--font-weight-bold);text-decoration:none;border-color:var(--primary-200)}.btn-outline-primary{background-color:transparent;color:var(--primary-600);border-color:var(--primary-600)}.btn-outline-primary:hover{background-color:var(--primary-100);text-decoration:none;border-color:var(--primary-400)}.btn-outline-primary-light{background-color:transparent;color:var(--primary-600);border-color:var(--primary-200)}.btn-outline-primary-light:hover{background-color:var(--primary-200);color:var(--primary-600);text-decoration:none}.btn-outline-secondary{background-color:transparent;color:var(--neutral-600);border-color:var(--neutral-300)}.btn-outline-secondary:hover{background-color:var(--neutral-200);color:var(--neutral-700);text-decoration:none}.btn-outline-success{background-color:transparent;color:var(--success-600);border-color:var(--success-600)}.btn-outline-success:hover{background-color:var(--success-200);color:var(--success-700);text-decoration:none}.btn-outline-warning{background-color:transparent;color:var(--warning-600);border-color:var(--warning-600)}.btn-outline-warning:hover{background-color:var(--warning-200);color:var(--warning-700);text-decoration:none}.btn-outline-danger{background-color:transparent;color:var(--error-600);border-color:var(--error-600)}.btn-outline-danger:hover{background-color:var(--error-200);color:var(--error-700);text-decoration:none}.btn-outline-info{background-color:transparent;color:var(--info-600);border-color:var(--info-600)}.btn-outline-info:hover{background-color:var(--info-200);color:var(--info-700);text-decoration:none}.btn-transparent{background-color:transparent;color:var(--primary-600);border-color:transparent}.btn-transparent:hover{background-color:var(--primary-200);color:var(--primary-700);text-decoration:none}.btn-ghost{background-color:transparent;color:var(--neutral-700);border:none}.btn-ghost:hover{background-color:var(--neutral-100);color:var(--neutral-700);text-decoration:none}.btn-success{background-color:var(--success-600);color:var(--white);border-color:var(--success-600)}.btn-success:hover{background-color:var(--success-700);transform:translateY(-1px);box-shadow:var(--shadow-hover);color:var(--white);text-decoration:none}.btn-danger,.btn-error{background-color:var(--error-600);color:var(--white);border-color:var(--error-600)}.btn-danger:hover,.btn-error:hover{background-color:var(--error-700);transform:translateY(-1px);box-shadow:var(--shadow-hover);color:var(--white);text-decoration:none}.btn-warning{background-color:var(--warning-500);color:var(--white);border-color:var(--warning-500)}.btn-warning:hover{background-color:var(--warning-600);transform:translateY(-1px);box-shadow:var(--shadow-hover);color:var(--white);text-decoration:none}.btn-info{background-color:var(--info-600);color:var(--white);border-color:var(--info-600)}.btn-info:hover{background-color:var(--info-700);transform:translateY(-1px);box-shadow:var(--shadow-hover);color:var(--white);text-decoration:none}.btn-success svg,.btn-danger svg,.btn-warning svg,.btn-info i{color:var(--white);margin-right:var(--space-1)}.btn-loading{background-color:var(--primary-600);color:var(--white);border-color:var(--primary-600)}.btn-done{background-color:var(--success-600);color:var(--white);border-color:var(--success-600)}.btn-save{padding:var(--space-2) var(--space-5);background-color:var(--primary-600);color:var(--white);border-color:var(--primary-600)}.btn-save:hover{background-color:var(--primary-700);transform:translateY(-1px);box-shadow:var(--shadow-hover);color:var(--white);text-decoration:none}.btn-cancel{padding:var(--space-2) var(--space-5);background-color:var(--neutral-300);color:var(--neutral-700);border-color:var(--neutral-300)}.btn-cancel:hover{background-color:var(--neutral-400);color:var(--neutral-700);text-decoration:none}.btn-view,.btn-action,.btn-edit,.btn-remove{padding:var(--space-2) var(--space-5);background-color:var(--neutral-200);color:var(--neutral-700);border-color:var(--neutral-300)}.btn-view:hover,.btn-action:hover,.btn-edit:hover,.btn-remove:hover{background-color:var(--neutral-300);transform:translateY(-1px);box-shadow:var(--shadow-hover);color:var(--neutral-700);text-decoration:none}.bulk-actions{margin-bottom:var(--space-5)}.bulk-actions .btn:disabled{background-color:var(--state-disabled-bg);border-color:var(--state-disabled-border);color:var(--state-disabled-text);opacity:var(--state-disabled-opacity);cursor:var(--state-disabled-cursor)}.normal-card{background-color:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-base);padding:var(--space-6);overflow:visible}.card{background-color:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-base);padding:var(--space-6)}.card:hover{box-shadow:var(--shadow-hover);transform:translateY(-2px)}.card-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:var(--space-2);border-bottom:1px solid var(--neutral-200)}.card-header h1{font-size:var(--text-2xl)}.card-header h2{font-size:var(--text-xl)}.card-header h3{font-size:var(--text-lg)}.card-header h4{font-size:var(--text-base)}.card-header h1,.card-header h2,.card-header h3,.card-header h4{margin:0;font-weight:var(--font-weight-semibold);color:var(--text-color-primary)}.card-body{min-height:var(--space-2);overflow:visible}.card-actions{display:flex;justify-content:flex-end;align-items:center;gap:var(--space-3)}.card-actions a,.card-actions button{font-size:var(--text-sm);font-weight:var(--font-weight-medium);padding:var(--space-1) var(--space-3)}.card-actions i{margin:0 var(--space-1) 0 0!important}.card-actions-divider{width:1px;height:20px;border-left:1px solid var(--neutral-300)}.card-badge{background:var(--primary-color);color:var(--white);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:0.05em}.card-title{align-self:center;font-size:var(--text-lg);font-weight:var(--font-weight-semibold);color:var(--neutral-700);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.card-title i{margin:0 var(--space-1) 0 0!important;font-size:var(--text-base);line-height:1.250!important}.card-image{overflow:hidden;transition:var(--transition-base)}.card-image img{width:100%;height:100%;object-fit:cover;object-position:center}.card-text{color:var(--neutral-600);line-height:var(--line-height-relaxed);margin-bottom:var(--space-2)}.card-count{background:var(--primary-color);color:var(--white);padding:var(--space-1) var(--space-3);border-radius:var(--radius-xl);font-size:var(--text-base);font-weight:var(--font-weight-medium)}.card-subtitle{font-size:var(--text-xs);color:var(--text-color-light);text-transform:uppercase;letter-spacing:0.04em}.card-stats{align-items:center;text-align:center;font-size:var(--text-sm);font-weight:var(--font-weight-medium);color:var(--text-color-secondary)}.card-status{align-items:center;text-align:center;font-size:var(--text-sm);font-weight:var(--font-weight-medium);color:var(--text-color-secondary)}.card-meta{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3)}.divider{border:none;height:1px;background-color:var(--neutral-200);margin:var(--space-3) 0}.divider-vertical{width:1px;height:auto;background-color:var(--neutral-200);margin:0 var(--space-4);display:inline-block;vertical-align:middle}.divider-text{position:relative;text-align:center;margin:var(--space-4) 0}.divider-text::before{content:'';position:absolute;top:50%;left:0;right:0;height:1px;background-color:var(--neutral-200)}.divider-text span{background-color:var(--white);padding:0 var(--space-3);color:var(--neutral-500);font-size:var(--text-sm);position:relative;z-index:1}.divider-text-left{text-align:left}.divider-text-left span{padding-left:0}.divider-text-right{text-align:right}.divider-text-right span{padding-right:0}.divider-dashed{background-color:transparent;border-top:1px dashed var(--neutral-300)}.divider-vertical.divider-dashed{border-top:none;border-left:1px dashed var(--neutral-300)}.pagination-container-normal{margin:var(--space-4) 0 var(--space-1) 0;display:flex;justify-content:space-between;align-items:center}.pagination-container-empty{margin:var(--space-2) 0;display:flex;justify-content:center;align-items:center}.pagination{display:flex;justify-content:center;list-style-type:none;padding:0;gap:var(--space-2)}.pagination-item{display:inline-flex}.pagination-link{padding:var(--space-2) var(--space-4);border-radius:var(--radius-base);text-decoration:none;color:var(--neutral-700);background-color:var(--white);border:1px solid var(--neutral-200);transition:var(--transition-colors);font-size:var(--text-xs);min-width:var(--space-10);text-align:center;display:inline-flex;align-items:center;justify-content:center}.pagination-link:hover{background-color:var(--primary-50);color:var(--primary-700);border-color:var(--primary-300);text-decoration:none;transform:translateY(-2px);box-shadow:var(--shadow-md)}.pagination-link.disabled{opacity:0.6;cursor:not-allowed;pointer-events:none}.pagination-item.active .pagination-link{background-color:var(--primary-600);color:var(--white);border-color:var(--primary-600);box-shadow:var(--shadow-lg)}.pagination-item.disabled .pagination-link{color:var(--neutral-400);background-color:var(--neutral-100);cursor:not-allowed;pointer-events:none}.pagination-placeholder{animation:pagination-glow 2s ease-in-out infinite;background-color:var(--neutral-200)!important;color:transparent!important;border-color:var(--neutral-200)!important}@keyframes pagination-glow{0%,100%{opacity:1}50%{opacity:0.5}}.page-header{font-size:var(--text-2xl)}.page-title i{margin-right:var(--space-2);color:var(--primary-600)}.page-subtitle{font-size:var(--text-sm);color:var(--neutral-600);margin-top:var(--space-2);font-weight:var(--font-weight-normal)}.page-description{font-size:var(--text-base);color:var(--text-color-tertiary);margin-top:var(--space-3);line-height:var(--line-height-relaxed)}.role-badge{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:0.025em;border:1px solid transparent;transition:var(--transition-colors);white-space:nowrap;line-height:1}.role-badge.parent{background-color:var(--info-100);color:var(--info-700);border-color:var(--info-200)}.role-badge.student{background-color:var(--success-100);color:var(--success-700);border-color:var(--success-200)}.role-badge.teacher{background-color:var(--primary-100);color:var(--primary-700);border-color:var(--primary-200)}.role-badge.admin{background-color:var(--warning-100);color:var(--warning-700);border-color:var(--warning-200)}.payment-badge{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:0.05em;border:1px solid transparent}.payment-badge.paid{background-color:var(--success-100);color:var(--success-700);border-color:var(--success-200)}.payment-badge.unpaid{background-color:var(--warning-100);color:var(--warning-700);border-color:var(--warning-200)}.payment-badge.refunded{background-color:var(--info-100);color:var(--info-700);border-color:var(--info-200)}.payment-badge.failed{background-color:var(--error-bg);color:var(--error-text);border-color:var(--error-border)}.badge{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-1) var(--space-3);border-radius:var(--radius-base);font-size:var(--text-sm);font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:0.025em;border:1px solid transparent;transition:var(--transition-colors);white-space:nowrap;line-height:1.25}.badge-xs{padding:var(--space-1) var(--space-2)!important;font-size:var(--text-ty)!important;border-radius:var(--radius-sm)!important}.badge-sm{padding:var(--space-1) var(--space-2)!important;font-size:var(--text-xs)!important;border-radius:var(--radius-sm)!important}.badge-lg{padding:var(--space-2) var(--space-4)!important;font-size:var(--text-sm)!important;border-radius:var(--radius-lg)!important}.badge-primary{background-color:var(--primary-100);color:var(--primary-700);border-color:var(--primary-200)}.badge-primary-light{background-color:var(--primary-50);color:var(--primary-600);border-color:var(--primary-100)}.badge-success{background-color:var(--success-100);color:var(--success-700);border-color:var(--success-200)}.badge-danger{background-color:var(--error-bg);color:var(--error-text);border-color:var(--error-border)}.badge-warning{background-color:var(--warning-100);color:var(--warning-700);border-color:var(--warning-200)}.badge-info{background-color:var(--info-100);color:var(--info-700);border-color:var(--info-200)}.badge-secondary{background-color:var(--neutral-100);color:var(--neutral-700);border-color:var(--neutral-200)}.badge-light{background-color:var(--white);color:var(--neutral-700);border-color:var(--neutral-200)}.badge.pending{background-color:var(--warning-100);color:var(--warning-700);border-color:var(--warning-200)}.badge.active{background-color:var(--info-100);color:var(--info-700);border-color:var(--info-200)}.badge.completed{background-color:var(--success-100);color:var(--success-700);border-color:var(--success-200)}.badge.cancelled{background-color:var(--error-bg);color:var(--error-text);border-color:var(--error-border)}.badge.archived{background-color:var(--neutral-200);color:var(--neutral-600);border-color:var(--neutral-300)}.badge.draft{background-color:var(--warning-100);color:var(--warning-700);border-color:var(--warning-200)}.badge.published{background-color:var(--success-100);color:var(--success-700);border-color:var(--success-200)}.badge.unpublished{background-color:var(--neutral-100);color:var(--neutral-700);border-color:var(--neutral-200)}.badge.enrolling{background-color:var(--primary-100);color:var(--primary-700);border-color:var(--primary-200)}.badge.in-progress{background-color:var(--info-100);color:var(--info-700);border-color:var(--info-200)}.badge.suspended{background-color:var(--error-bg);color:var(--error-text);border-color:var(--error-border)}.badge.closed{background-color:var(--neutral-200);color:var(--neutral-600);border-color:var(--neutral-300)}.badge.closed-enrollment{background-color:var(--neutral-100);color:var(--neutral-700);border-color:var(--neutral-200)}.badge.confirmed{background-color:var(--success-100);color:var(--success-700);border-color:var(--success-200)}.badge.postponed{background-color:var(--warning-100);color:var(--warning-700);border-color:var(--warning-200)}.badge.full{background-color:var(--error-bg);color:var(--error-text);border-color:var(--error-border)}.badge.public{background-color:var(--primary-100);color:var(--success-700);border-color:var(--success-200)}.badge.hidden{background-color:var(--neutral-100);color:var(--neutral-700);border-color:var(--neutral-200)}.badge.booking{background-color:var(--info-100);color:var(--info-700);border-color:var(--info-200)}.badge.status-pending{background-color:var(--warning-100);color:var(--warning-700);border-color:var(--warning-200)}.badge.status-active{background-color:var(--success-100);color:var(--success-700);border-color:var(--success-200)}.badge.status-completed{background-color:var(--primary-100);color:var(--primary-700);border-color:var(--primary-200)}.badge.status-withdrawn{background-color:var(--neutral-100);color:var(--neutral-700);border-color:var(--neutral-200)}.badge.status-cancelled{background-color:var(--error-bg);color:var(--error-text);border-color:var(--error-border)}.badge.status-archived{background-color:var(--neutral-100);color:var(--neutral-700);border-color:var(--neutral-200)}.badge.status-suspended{background-color:var(--warning-100);color:var(--warning-700);border-color:var(--warning-200)}.badge.status-enrolling{background-color:var(--info-100);color:var(--info-700);border-color:var(--info-200)}.badge.status-replied{background-color:var(--success-100);color:var(--success-700);border-color:var(--success-200)}.badge.status-success{background-color:var(--success-100);color:var(--success-700);border-color:var(--success-200)}.badge.status-danger{background-color:var(--error-bg);color:var(--error-text);border-color:var(--error-border)}.badge.status-pending{background-color:var(--warning-100);color:var(--warning-700);border-color:var(--warning-200)}.badge.status-paid{background-color:var(--success-100);color:var(--success-700);border-color:var(--success-200)}.badge.status-failed{background-color:var(--error-bg);color:var(--error-text);border-color:var(--error-border)}.badge.status-refunded{background-color:var(--info-100);color:var(--info-700);border-color:var(--info-200)}.alert{align-items:center;padding:var(--space-2) var(--space-3);border-radius:var(--radius-base);border:1px solid transparent;margin-bottom:var(--space-4);font-size:var(--text-sm);line-height:var(--line-height-normal)}.alert-close{width:var(--space-4);height:var(--space-4);border:none;background:none;padding:0;margin:0}.alert-success{background-color:var(--success-50);border-color:var(--success-200);color:var(--success-700)}.alert-warning{background-color:var(--warning-50);border-color:var(--warning-200);color:var(--warning-700)}.alert-error{background-color:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.alert-info{background-color:var(--info-50);border-color:var(--info-200);color:var(--info-700)}.alert-danger{background-color:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.notification-container{position:fixed;top:var(--space-4);right:var(--space-4);z-index:var(--z-index-notification);display:flex;flex-direction:column;gap:var(--space-2);max-width:var(--space-100);pointer-events:none}.notification{background-color:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:var(--space-4);display:flex;align-items:flex-start;gap:var(--space-3);opacity:0;transform:translateX(100%);transition:opacity var(--transition-base),transform var(--transition-base);pointer-events:auto;border-left:4px solid var(--neutral-200);min-width:var(--space-80)}.notification.show{opacity:1;transform:translateX(0)}.notification.hide{opacity:0;transform:translateX(100%)}.notification-icon{width:var(--space-5);height:var(--space-5);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-size:var(--text-sm);flex-shrink:0;margin-top:2px}.notification-success{border:2px solid var(--success-300)}.notification-success .notification-icon{background-color:var(--success-100);color:var(--success-600)}.notification-warning{border-left-color:var(--warning-500)}.notification-warning .notification-icon{background-color:var(--warning-100);color:var(--warning-600)}.notification-error{border-left-color:var(--error-border)}.notification-error .notification-icon{background-color:var(--error-bg);color:var(--error-icon)}.notification-info{border-left-color:var(--info-500)}.notification-info .notification-icon{background-color:var(--info-100);color:var(--info-600)}.notification-content{flex:1;min-width:0}.notification-title{font-size:var(--text-sm);font-weight:var(--font-weight-medium);color:var(--neutral-800);margin:0 0 var(--space-1) 0}.notification-message{font-size:var(--text-sm);color:var(--neutral-600);line-height:1.4;margin:0}.notification-close{background:none;border:none;color:var(--neutral-400);font-size:var(--text-lg);cursor:pointer;padding:var(--space-1);border-radius:var(--radius-base);transition:var(--transition-colors);flex-shrink:0;margin-top:-2px}.notification-close:hover{color:var(--neutral-600);background-color:var(--neutral-100)}.notification-progress{position:absolute;bottom:0;left:0;height:var(--space-5);background-color:var(--primary-500);border-radius:0 0 var(--radius-lg) var(--radius-lg);transition:width linear}.notification-success .notification-progress{background-color:var(--success-500)}.notification-warning .notification-progress{background-color:var(--warning-500)}.notification-error .notification-progress{background-color:var(--error-border)}.notification-info .notification-progress{background-color:var(--info-500)}.message-container{position:fixed;top:var(--space-6);left:50%;transform:translateX(-50%);z-index:var(--z-index-notification);display:flex;flex-direction:column;gap:var(--space-2);pointer-events:none;max-width:90vw}.message{display:inline-flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background-color:var(--white);border-radius:var(--radius-base);box-shadow:var(--shadow-lg);pointer-events:all;max-width:500px;opacity:0;transform:translateY(-20px);animation:slideInDown 0.3s ease-out forwards;transition:opacity var(--transition-base),transform var(--transition-base)}.message[style*="display: none"]{opacity:0;transform:translateY(-10px)}.message:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}.message.hiding{opacity:0;transform:translateY(-20px)}.message-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:var(--space-5);height:var(--space-5);font-size:var(--text-lg)}.message-content{flex:1;font-size:var(--text-sm);color:var(--neutral-700);line-height:1.5}.message-close{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:var(--space-4);height:var(--space-4);border:none;background:none;color:var(--neutral-400);cursor:pointer;padding:0;transition:color var(--transition-base)}.message-close:hover{color:var(--neutral-600)}.message-info{border-left:3px solid var(--info-600)}.message-info .message-icon{color:var(--info-600)}.message-success{border-left:3px solid var(--primary-600)}.message-success .message-icon{color:var(--primary-600)}.message-warning{border-left:3px solid var(--warning-600)}.message-warning .message-icon{color:var(--warning-600)}.message-error{border-left:3px solid var(--error-icon)}.message-error .message-icon{color:var(--error-icon)}.message-loading .message-icon{animation:spin 1s linear infinite;color:var(--primary-600)}.avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-full);background-color:var(--neutral-200);color:var(--neutral-600);font-weight:var(--font-weight-medium);overflow:hidden;position:relative}.avatar i{width:100%;height:100%;padding:0!important;object-fit:cover}.avatar-xs{width:var(--space-6);height:var(--space-6);font-size:var(--text-xs)}.avatar-sm{width:var(--space-8);height:var(--space-8);font-size:var(--text-sm)}.avatar-md{width:var(--space-10);height:var(--space-10);font-size:var(--text-base)}.avatar-lg{width:var(--space-12);height:var(--space-12);font-size:var(--text-lg)}.avatar-xl{width:var(--space-16);height:var(--space-16);font-size:var(--text-xl)}.tags{display:flex;gap:var(--space-1);margin-top:var(--space-1)}.tag{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-2);border-radius:var(--radius-base);font-size:var(--text-xs);font-weight:var(--font-weight-medium);line-height:1;background-color:var(--neutral-100);color:var(--neutral-700);border:1px solid var(--neutral-200)}.tag:hover{background:var(--neutral-200);border:1px solid var(--neutral-300)}.tag-sm{padding:2px var(--space-1);font-size:10px}.tag-lg{padding:var(--space-2) var(--space-3);font-size:var(--text-sm)}.tag-primary{background-color:var(--primary-100);color:var(--primary-700);border-color:var(--primary-200)}.tag-success{background-color:var(--success-100);color:var(--success-700);border-color:var(--success-200)}.tag-warning{background-color:var(--warning-100);color:var(--warning-700);border-color:var(--warning-200)}.tag-error{background-color:var(--error-bg);color:var(--error-text);border-color:var(--error-border)}.tag-info{background-color:var(--info-100);color:var(--info-700);border-color:var(--info-200)}.tag-outline{background-color:transparent;border-width:1px}.tag-outline.tag-primary{color:var(--primary-600);border-color:var(--primary-300)}.tag-outline.tag-success{color:var(--success-600);border-color:var(--success-300)}.tag-outline.tag-warning{color:var(--warning-600);border-color:var(--warning-300)}.tag-outline.tag-error{color:var(--error-icon);border-color:var(--error-border)}.tag-outline.tag-info{color:var(--info-600);border-color:var(--info-300)}.tag-close{margin-left:var(--space-1);background:none;border:none;color:inherit;cursor:pointer;padding:0;font-size:inherit;opacity:0.7;transition:opacity var(--transition-base)}.tag-close:hover{opacity:1}.tag-rounded{border-radius:var(--radius-full)}.progress{width:100%;height:var(--space-2);background-color:var(--neutral-200);border-radius:var(--radius-full);overflow:hidden}.progress-bar{height:100%;background:linear-gradient(90deg,var(--primary-500),var(--primary-400));border-radius:var(--radius-full);transition:width var(--transition-base)}.progress-item{display:flex;align-items:center;gap:var(--space-3)}.progress-label{font-size:var(--text-xs);color:var(--text-color-secondary);min-width:var(--space-15)}.progress-fill{height:100%;width:var(--progress-width,0);background:linear-gradient(90deg,var(--success-color),var(--primary-color));border-radius:var(--radius-full);transition:width 0.6s ease-out;transition:width var(--transition-duration-3xl) var(--easing-standard)}.progress-text{font-size:var(--text-xs);color:var(--text-color-secondary);font-weight:var(--font-weight-medium)}.progress-value{font-size:var(--text-xs);font-weight:600;color:var(--text-color-primary);min-width:var(--space-10);text-align:right}.progress-percentage{font-size:var(--text-sm);font-weight:var(--font-weight-bold);color:var(--text-color-brand)}.progress-green{background-color:#22c55e}.progress-orange{background-color:#f59e0b}.progress-red{background-color:#ef4444}.image-wrapper{position:relative;display:inline-block;overflow:hidden;border-radius:var(--radius-base)}.image{display:block;width:100%;height:auto;object-fit:cover;transition:opacity var(--transition-base),transform var(--transition-base)}.image-placeholder{position:relative;background-color:var(--neutral-100);display:flex;align-items:center;justify-content:center;color:var(--neutral-400);min-height:var(--space-50)}.image-placeholder::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,var(--neutral-200) 25%,var(--neutral-100) 50%,var(--neutral-200) 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite}.image-placeholder-icon{position:relative;z-index:1;font-size:var(--text-2xl);opacity:0.5}.image-loading{opacity:0.5;filter:blur(4px)}.image-loaded{opacity:1;filter:none}.image-error{background-color:var(--neutral-100);display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:var(--space-50);color:var(--neutral-400)}.image-error-icon{font-size:var(--text-2xl);margin-bottom:var(--space-2);color:var(--error-icon)}.image-error-text{font-size:var(--text-sm);color:var(--neutral-500)}.image-preview{cursor:pointer;position:relative}.image-preview::after{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,0);transition:background-color var(--transition-base);display:flex;align-items:center;justify-content:center;border-radius:var(--radius-base)}.image-preview:hover::after{background-color:rgba(0,0,0,0.3);content:'🔍';font-size:var(--text-2xl);color:var(--white)}.image-preview:hover .image{transform:scale(1.05)}.image-lazy{opacity:0;transition:opacity var(--transition-duration-slow) var(--transition-timing-ease-in-out)}.image-lazy.loaded{opacity:1}.image-xs{width:var(--space-15);height:var(--space-15);border-radius:var(--radius-sm)}.image-sm{width:100px;height:100px;border-radius:var(--radius-base)}.image-md{width:var(--space-50);height:var(--space-50);border-radius:var(--radius-base)}.image-lg{width:var(--space-100);height:var(--space-100);border-radius:var(--radius-lg)}.image-xl{width:var(--space-150);height:var(--space-150);border-radius:var(--radius-lg)}.image-rounded{border-radius:var(--radius-full)}.image-square{aspect-ratio:1 / 1}.image-circle{border-radius:var(--radius-full);aspect-ratio:1 / 1}.image-responsive{max-width:100%;height:auto}.image-group{display:grid;gap:var(--space-2)}.image-group-2{grid-template-columns:repeat(2,1fr)}.image-group-3{grid-template-columns:repeat(3,1fr)}.image-group-4{grid-template-columns:repeat(4,1fr)}.image-modal-overlay{position:none;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.8);z-index:10000;display:flex;align-items:center;justify-content:center;animation:fadeIn 0.3s ease-out}.image-modal-overlay.active{display:flex}.image-modal-content{position:relative;max-width:90vw;max-height:90vh;background:white;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-xl)}.image-modal-image{max-width:100%;max-height:100%;border-radius:var(--radius-base);box-shadow:var(--shadow-xl)}.image-modal-caption{position:absolute;bottom:-40px;left:0;right:0;text-align:center;color:var(--white);font-size:var(--text-sm);background:rgba(0,0,0,0.7);padding:var(--space-2);border-radius:var(--radius-sm)}.image-modal-close{position:absolute;top:-40px;right:0;background:rgba(0,0,0,0.7);color:var(--white);border:none;border-radius:var(--radius-full);width:var(--space-8);height:var(--space-8);cursor:pointer;font-size:var(--text-lg);display:flex;align-items:center;justify-content:center;transition:var(--transition-base)}.image-modal-close:hover{background:rgba(0,0,0,0.9)}.image-modal-overlay:hover .image-modal-close{transform:scale(1.1)}.image-modal-overlay:focus-within .image-modal-close{outline:1px solid var(--primary-500);outline-offset:1px}.stats-section{border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--neutral-200)}.stats-summary{display:flex;justify-content:space-between;align-items:center}.stats-grid{display:grid;margin-bottom:var(--space-6)}.stat-body{flex:1}.stat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-4);align-items:center;text-align:center;padding:var(--space-4);background:var(--neutral-50);border-radius:var(--radius-lg)}.stat-card,.stat-item{align-items:center;text-align:center;padding:var(--space-6);background:var(--white);border-radius:var(--radius-lg);border:1px solid var(--white)}.stat-card:hover,.stat-item:hover{transform:translateY(-2px);background:var(--white);border-color:var(--neutral-200);box-shadow:var(--shadow-md)}.stat-number{display:block;color:var(--text-color-primary);font-size:var(--text-3xl);font-weight:var(--font-weight-bold);text-shadow:0 1px 2px rgba(0,0,0,0.1)}.stat-label{font-size:var(--text-sm);color:var(--text-color-secondary);opacity:0.9;text-transform:uppercase;letter-spacing:0.05em;font-weight:var(--font-weight-medium)}.stat-content{text-align:start}.stat-icon{width:3rem;height:3rem;border-radius:var(--radius-lg);background:linear-gradient(135deg,var(--primary-500),var(--primary-600));display:flex;align-items:center;justify-content:center;color:var(--white);font-size:1.25rem;flex-shrink:0}.stat-icon i{color:var(--white);font-size:var(--text-sm)}.stat-info{flex:1}.stat-change{font-size:var(--text-xs);color:var(--text-color-secondary);margin-top:var(--space-1)}.stat-change.positive{color:var(--success-color)}.stat-percentage{font-weight:var(--font-weight-medium)}.stat-number{display:inline-block;font-size:var(--text-3xl);font-weight:var(--font-weight-bold);color:var(--text-color-primary);line-height:1.2;margin:0}.stat-number-lg{font-size:var(--text-4xl)}.stat-number-xl{font-size:var(--text-5xl)}.stat-number-sm{font-size:var(--text-2xl)}.stat-prefix{font-size:0.6em;font-weight:var(--font-weight-normal);color:var(--text-color-secondary);margin-right:var(--space-1);vertical-align:top}.stat-suffix{font-size:0.6em;font-weight:var(--font-weight-normal);color:var(--text-color-secondary);margin-left:var(--space-1);vertical-align:top}.stat-trend{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--text-sm);font-weight:var(--font-weight-medium);margin-top:var(--space-1)}.stat-trend-up{color:var(--success-600)}.stat-trend-down{color:var(--error-icon)}.stat-trend-neutral{color:var(--neutral-500)}.stat-trend-icon{font-size:var(--text-xs);display:inline-flex;align-items:center}.stat-trend-up .stat-trend-icon::before{content:'↑'}.stat-trend-down .stat-trend-icon::before{content:'↓'}.stat-trend-neutral .stat-trend-icon::before{content:'→'}.stat-description{font-size:var(--text-sm);color:var(--text-color-secondary);margin-top:var(--space-1);line-height:1.4}.stat-card-enhanced{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-6);background:var(--white);border-radius:var(--radius-lg);border:1px solid var(--neutral-200);transition:var(--transition-hover)}.stat-card-enhanced:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--primary-200)}.stat-card-enhanced-header{display:flex;justify-content:space-between;align-items:flex-start}.stat-card-enhanced-title{font-size:var(--text-sm);color:var(--text-color-secondary);font-weight:var(--font-weight-medium)}.stat-card-enhanced-body{display:flex;align-items:baseline;gap:var(--space-2)}.stat-card-enhanced-footer{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-2)}.stat-number-primary{color:var(--primary-600)}.stat-number-success{color:var(--success-600)}.stat-number-warning{color:var(--warning-600)}.stat-number-error{color:var(--error-icon)}.stat-number-info{color:var(--info-600)}.quick-actions{display:flex;gap:var(--space-4)}.quick-action-btn{align-items:center;padding:var(--space-4) var(--space-5);background:var(--white);border:1px solid var(--border-color-default);border-radius:var(--radius-base);text-decoration:none}.quick-action-btn:hover{background:var(--primary-100);border-color:var(--primary-color);transform:translateY(-2px);box-shadow:var(--shadow-md)}.action-icon{width:var(--space-12);height:var(--space-12);border-radius:var(--radius-full);background:var(--primary-100);display:flex;align-items:center;justify-content:center;color:var(--primary-600);font-size:var(--text-lg)}.action-content h3{font-size:var(--text-base);font-weight:600;color:var(--text-primary);margin:0 0 var(--space-1) 0}.action-content p{font-size:var(--text-sm);color:var(--text-secondary);margin:0}.action-text{font-weight:var(--font-weight-semibold);font-size:var(--text-base)}.custom-select-dropdown{position:relative;width:100%;z-index:var(--dropdown-z-index,auto)}.custom-select-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;padding:var(--space-2) var(--space-3);font-size:var(--text-sm);color:var(--neutral-700);background-color:var(--white);border:1px solid var(--neutral-300);border-radius:var(--radius-base);cursor:pointer;transition:border-color var(--transition-base),box-shadow var(--transition-base),color var(--transition-base);box-sizing:border-box}.custom-select-trigger:hover{border-color:var(--primary-500);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.custom-select-trigger:active{transform:translateY(0)}.custom-select-trigger:focus{outline:none;border-color:var(--primary-500);box-shadow:var(--shadow-focus-ring)}.custom-select-trigger.active{border-color:var(--primary-600)}.custom-select-trigger.active .custom-select-display{color:var(--primary-600);font-size:var(--text-sm);font-weight:var(--font-weight-medium)}.custom-select-trigger.disabled{background-color:var(--neutral-100);color:var(--neutral-500);cursor:not-allowed;opacity:0.6}.custom-select-trigger.error{border-color:var(--error-border)}.custom-select-trigger.error:focus{border-color:var(--error-border);box-shadow:var(--state-focus-ring-error)}.custom-select-trigger i{padding:0!important}.custom-select-display{flex:1;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.custom-select-placeholder{color:var(--neutral-500);font-size:var(--text-sm)}.custom-select-arrow{color:var(--neutral-600);transition:transform var(--transition-base);margin-left:var(--space-2);font-size:var(--text-xs)}.custom-select-trigger.active .custom-select-arrow{transform:rotate(180deg)}.custom-select-options{position:absolute;top:100%;left:0;right:0;width:100%;min-width:100%;background:var(--white);border:1px solid var(--neutral-300);border-radius:var(--radius-md);box-shadow:var(--shadow-md);z-index:var(--dropdown-z-index,1050);max-height:var(--space-50);overflow-y:auto;overflow-x:hidden;display:none}.custom-select-options.show{display:block}.custom-select-options.dropdown-fixed{position:fixed;right:auto}.custom-select-options.is-position-fixed{position:fixed;top:var(--dropdown-top,auto);left:var(--dropdown-left,auto);width:var(--dropdown-width,auto);min-width:var(--dropdown-min-width,auto);max-width:var(--dropdown-max-width,auto);z-index:var(--dropdown-z-index,1050)}.custom-select-options.is-visibility-visible{visibility:visible}.custom-select-search{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--neutral-200);background:var(--neutral-50)}.custom-select-search input{width:100%;padding:var(--space-1) var(--space-2);font-size:var(--text-xs);color:var(--neutral-700);background-color:var(--white);border:1px solid var(--neutral-300);border-radius:var(--radius-sm);outline:none}.custom-select-search input:focus{border-color:var(--primary-500);box-shadow:var(--shadow-focus-ring-sm)}.custom-select-option{padding:var(--space-2) var(--space-3);cursor:pointer;transition:background-color var(--transition-base);border-bottom:1px solid var(--neutral-100);color:var(--neutral-700);font-size:var(--text-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.custom-select-option:last-child{border-bottom:none}.custom-select-option:hover{background-color:var(--primary-50)}.custom-select-option.selected{background-color:var(--primary-100);color:var(--primary-700);font-weight:var(--font-weight-medium)}.custom-select-option:disabled{color:var(--neutral-400);cursor:not-allowed;background-color:var(--neutral-50)}.custom-select-no-results{padding:var(--space-3);text-align:center;color:var(--neutral-500);font-size:var(--text-sm);font-style:italic}.custom-select-group-header{padding:var(--space-2) var(--space-3);background-color:var(--neutral-100);color:var(--neutral-600);font-size:var(--text-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:0.05em;border-bottom:1px solid var(--neutral-200);margin-top:var(--space-1)}.custom-select-group-header:first-child{margin-top:0}.toast-container{position:fixed;top:var(--space-5);right:var(--space-5);z-index:var(--z-index-toast);display:flex;flex-direction:column;gap:var(--space-2);pointer-events:none}.toast{display:flex;align-items:center;padding:var(--space-3) var(--space-4);min-width:var(--space-80);max-width:var(--space-100);background-color:var(--white);border-radius:var(--radius-base);box-shadow:var(--shadow-lg);border-left:4px solid;font-size:var(--text-sm);line-height:1.5;color:var(--neutral-700);transition:background-color var(--transition-base),transform var(--transition-base),opacity var(--transition-base);opacity:1;transform:translateX(0);pointer-events:auto}.toast[style*="display: none"]{opacity:0;transform:translateX(100%)}.toast:hover{transform:translateX(-2px);box-shadow:var(--shadow-xl)}.toast i{margin-right:var(--space-2);font-size:var(--text-base)}.toast-success{border-left-color:var(--success-500);background-color:var(--success-50)}.toast-success i{color:var(--success-600)}.toast-error{border-left-color:var(--error-border);background-color:var(--error-bg)}.toast-error i{color:var(--error-icon)}.toast-warning{border-left-color:var(--warning-500);background-color:var(--warning-50)}.toast-warning i{color:var(--warning-600)}.toast-info{border-left-color:var(--info-500);background-color:var(--info-50)}.toast-info i{color:var(--info-600)}.toast:not(.toast-success):not(.toast-error):not(.toast-warning):not(.toast-info){border-left-color:var(--primary-500);background-color:var(--primary-50)}.toast:not(.toast-success):not(.toast-error):not(.toast-warning):not(.toast-info) i{color:var(--primary-600)}.dropdown{position:relative;display:inline-block}.dropdown-trigger{cursor:pointer;user-select:none}.dropdown-menu{position:absolute;top:calc(100% + 4px);left:0;min-width:var(--space-40);background-color:var(--white);border:1px solid var(--neutral-200);border-radius:var(--radius-base);box-shadow:var(--shadow-lg);padding:var(--space-1) 0;opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity var(--transition-base),visibility var(--transition-base),transform var(--transition-base);z-index:var(--z-index-dropdown);max-height:var(--space-80);overflow-y:auto}.dropdown.active .dropdown-menu,.dropdown:hover .dropdown-menu{opacity:1;visibility:visible;transform:translateY(0)}.dropdown-menu.dropdown-right{left:auto;right:0}.dropdown-menu.dropdown-center{left:50%;transform:translateX(-50%) translateY(-8px)}.dropdown.active .dropdown-menu.dropdown-center,.dropdown:hover .dropdown-menu.dropdown-center{transform:translateX(-50%) translateY(0)}.dropdown-menu.dropdown-top{top:auto;bottom:calc(100% + 4px);transform:translateY(8px)}.dropdown.active .dropdown-menu.dropdown-top,.dropdown:hover .dropdown-menu.dropdown-top{transform:translateY(0)}.dropdown-item{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);color:var(--neutral-700);text-decoration:none;cursor:pointer;font-size:var(--text-sm);white-space:nowrap;transition:background-color var(--transition-base)}.dropdown-item:hover{background-color:var(--neutral-100);color:var(--neutral-800)}.dropdown-item:active{background-color:var(--neutral-200)}.dropdown-item.active{background-color:var(--primary-50);color:var(--primary-600)}.dropdown-item:disabled,.dropdown-item.disabled{color:var(--neutral-400);cursor:not-allowed;opacity:0.6}.dropdown-item:disabled:hover,.dropdown-item.disabled:hover{background-color:transparent}.dropdown-item-icon{flex-shrink:0;width:var(--space-4);height:var(--space-4);display:flex;align-items:center;justify-content:center}.dropdown-divider{height:1px;background-color:var(--neutral-200);margin:var(--space-1) 0}.dropdown-header{padding:var(--space-2) var(--space-4);font-size:var(--text-xs);font-weight:var(--font-weight-semibold);color:var(--neutral-500);text-transform:uppercase;letter-spacing:0.05em}.dropdown-item.danger{color:var(--error-icon)}.dropdown-item.danger:hover{background-color:var(--bg-color-error-light);color:var(--error-text)}.custom-dropdown-date{position:relative;border-radius:var(--radius-base)}.menu{background-color:var(--white);border:1px solid var(--neutral-200);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:var(--space-2) var(--space-3);min-width:var(--space-50);max-width:var(--space-80)}.menu-item{display:flex;align-items:center;padding:var(--space-2) var(--space-3);border-radius:var(--radius-base);font-size:var(--text-sm);color:var(--neutral-700);text-decoration:none;transition:var(--transition-colors);cursor:pointer;border:none;background:none;width:100%;text-align:left}.menu-item:hover{background-color:var(--neutral-100);color:var(--neutral-800)}.menu-item.active{background-color:var(--primary-50);color:var(--primary-700)}.menu-item.disabled{color:var(--neutral-400);cursor:not-allowed;pointer-events:none}.menu-item-icon{width:var(--space-4);height:var(--space-4);margin-right:var(--space-2);display:flex;align-items:center;justify-content:center;font-size:var(--text-sm);color:var(--neutral-500)}.menu-item.active .menu-item-icon{color:var(--primary-600)}.menu-item-text{flex:1}.menu-item-shortcut{font-size:var(--text-xs);color:var(--neutral-400);margin-left:var(--space-2)}.menu-divider{height:1px;background-color:var(--neutral-200);margin:var(--space-1) 0}.menu-group{padding:var(--space-2) var(--space-3) var(--space-1)}.menu-group-title{font-size:var(--text-xs);font-weight:var(--font-weight-medium);color:var(--neutral-500);text-transform:uppercase;letter-spacing:0.05em;margin:0}.menu-submenu{position:relative}.menu-submenu .menu-item{position:relative}.menu-submenu .menu-item::after{content:'';position:absolute;right:var(--space-3);top:50%;transform:translateY(-50%);width:0;height:0;border-left:4px solid var(--neutral-400);border-top:4px solid transparent;border-bottom:4px solid transparent}.menu-submenu-content{position:absolute;left:100%;top:0;border-radius:var(--radius-lg);padding:var(--space-1);min-width:180px;opacity:0;visibility:hidden;transform:translateX(-8px);transition:opacity var(--transition-base),transform var(--transition-base),visibility 0s var(--transition-duration-base);z-index:var(--z-index-dropdown)}.menu-submenu:hover .menu-submenu-content{opacity:1;visibility:visible;transform:translateX(0);transition:opacity var(--transition-base),transform var(--transition-base)}.menu-horizontal{display:flex;align-items:center;padding:0;border:none;box-shadow:none;background:none;min-width:auto;max-width:none}.menu-horizontal .menu-item{padding:var(--space-2) var(--space-4);border-radius:var(--radius-base)}.menu-horizontal .menu-divider{width:1px;height:var(--space-5);margin:0 var(--space-2)}.accordion{padding:var(--space-6);border:1px solid var(--neutral-200);border-radius:var(--radius-lg);overflow:hidden;background-color:var(--white);display:flex;flex-direction:column;gap:var(--space-3)}.accordion-item{border-radius:var(--radius-base);border:1px solid var(--neutral-100)}.accordion-header{display:flex;justify-content:space-between;gap:var(--space-4);align-items:center;padding:var(--space-3) var(--space-4);cursor:pointer;background-color:var(--white);border:none;border-radius:var(--radius-base);width:100%;text-align:left;font-size:var(--text-base);font-weight:var(--font-weight-medium);color:var(--neutral-700);transition:background-color var(--transition-base)}.accordion-header:hover{background-color:var(--neutral-50)}.accordion-header h3{margin:0;color:var(--text-color-primary);font-size:var(--text-lg);font-weight:var(--font-weight-medium)}.accordion-header.active{background-color:var(--primary-50);color:var(--primary-700);border-bottom:2px solid var(--primary-300);border-radius:var(--radius-base) var(--radius-base) 0 0}.accordion-title{font-weight:var(--font-weight-semibold);color:inherit;margin:0;flex:1}.accordion-icon{transition:transform var(--transition-base);font-size:var(--text-sm);color:var(--neutral-500);margin-left:var(--space-2)}.accordion-header.active .accordion-icon{transform:rotate(180deg);color:var(--primary-600)}.accordion-content{visibility:hidden!important;max-height:0!important;overflow:hidden!important;opacity:0!important}.accordion-content.active{visibility:visible!important;max-height:none!important;opacity:1!important}.accordion-content-wrapper{display:flex;flex-direction:column}.accordion-content-item{padding:var(--space-3);border-radius:var(--radius-base);border:1px solid var(--neutral-200);margin:0 var(--space-3) var(--space-3) var(--space-3)}.accordion-content-item:hover{background-color:var(--primary-50);border-color:var(--primary-100);box-shadow:var(--shadow-sm)}.accordion-content-item:first-child{margin:var(--space-4)}.accordion-content-item-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--neutral-200);padding-bottom:var(--space-3);margin-bottom:var(--space-3)}.accordion-content-item-header:last-of-type{border-bottom:none}.accordion-content-item-header h4{margin:0;color:var(--text-color-primary);font-size:var(--text-base);font-weight:var(--font-weight-medium)}.accordion-content-description{padding:0 0 var(--space-3) 0;color:var(--text-color-secondary);font-size:var(--text-sm);line-height:1.6;border-bottom:1px dashed var(--border-color-lighter)}.accordion-content-description:last-child{border-bottom:none}.accordion-content p{margin:0}.accordion-body{padding:var(--space-4);background-color:var(--white)}.accordion.collapse-borderless{border:none;border-radius:0}.accordion.collapse-borderless .accordion-item{border:none}.accordion.collapse-borderless .accordion-body{border-top:none}.comment{display:flex;gap:var(--space-3);padding:var(--space-4);border-bottom:1px solid var(--neutral-200)}.comment:last-child{border-bottom:none}.comment-avatar{flex-shrink:0;width:var(--space-10);height:var(--space-10);border-radius:var(--radius-full);overflow:hidden;background-color:var(--neutral-200);display:flex;align-items:center;justify-content:center}.comment-avatar img{width:100%;height:100%;object-fit:cover}.comment-avatar-sm{width:var(--space-8);height:var(--space-8)}.comment-avatar-lg{width:var(--space-12);height:var(--space-12)}.comment-content{flex:1;min-width:0}.comment-header{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2);flex-wrap:wrap}.comment-author{font-size:var(--text-sm);font-weight:var(--font-weight-semibold);color:var(--text-color-primary)}.comment-time{font-size:var(--text-xs);color:var(--text-color-tertiary)}.comment-badge{display:inline-flex;align-items:center;padding:2px var(--space-2);border-radius:var(--radius-sm);font-size:var(--text-ty);font-weight:var(--font-weight-medium);background-color:var(--primary-100);color:var(--primary-700)}.comment-text{font-size:var(--text-sm);color:var(--text-color-primary);line-height:var(--line-height-relaxed);margin-bottom:var(--space-2);word-wrap:break-word}.comment-actions{display:flex;align-items:center;gap:var(--space-4);margin-top:var(--space-2)}.comment-action{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--text-xs);color:var(--text-color-secondary);background:none;border:none;cursor:pointer;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);transition:var(--transition-colors)}.comment-action:hover{color:var(--primary-600);background-color:var(--primary-50)}.comment-action-icon{font-size:var(--text-xs)}.comment-replies{margin-top:var(--space-4);margin-left:var(--space-8);padding-left:var(--space-4);border-left:2px solid var(--neutral-200)}.comment-reply{display:flex;gap:var(--space-3);padding:var(--space-3);margin-bottom:var(--space-3);background-color:var(--neutral-50);border-radius:var(--radius-base)}.comment-reply:last-child{margin-bottom:0}.comment-nested-1{margin-left:var(--space-8)}.comment-nested-2{margin-left:var(--space-12)}.comment-nested-3{margin-left:var(--space-16)}.comment-list{background-color:var(--white);border-radius:var(--radius-lg);border:1px solid var(--neutral-200);overflow:hidden}.comment-list-header{padding:var(--space-4);border-bottom:1px solid var(--neutral-200);background-color:var(--neutral-50)}.comment-list-title{font-size:var(--text-lg);font-weight:var(--font-weight-semibold);color:var(--text-color-primary);margin:0}.comment-list-body{padding:var(--space-2)}.comment-list-footer{padding:var(--space-4);border-top:1px solid var(--neutral-200);background-color:var(--neutral-50);text-align:center}.comment-input{width:100%;min-height:var(--space-20);padding:var(--space-3);border:1px solid var(--neutral-300);border-radius:var(--radius-base);font-size:var(--text-sm);resize:vertical;transition:border-color var(--transition-base)}.comment-input:focus{outline:none;border-color:var(--primary-500);box-shadow:var(--shadow-focus-ring)}.comment-submit{display:flex;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-3)}.comment-load-more{text-align:center;padding:var(--space-4);border-top:1px solid var(--neutral-200)}.comment-load-more-btn{font-size:var(--text-sm);color:var(--primary-600);background:none;border:none;cursor:pointer;padding:var(--space-2) var(--space-4);border-radius:var(--radius-base);transition:var(--transition-colors)}.comment-load-more-btn:hover{background-color:var(--primary-50);color:var(--primary-700)}.comment-empty{padding:var(--space-8);text-align:center;color:var(--text-color-tertiary)}.comment-empty-icon{font-size:var(--text-3xl);margin-bottom:var(--space-2);opacity:0.5}.comment-empty-text{font-size:var(--text-sm)}.comment-like,.comment-dislike{display:inline-flex;align-items:center;gap:var(--space-1)}.comment-like.active{color:var(--success-600)}.comment-dislike.active{color:var(--error-icon)}.comment-editing .comment-text{display:none}.comment-edit-input{width:100%;min-height:var(--space-15);padding:var(--space-2);border:1px solid var(--neutral-300);border-radius:var(--radius-base);font-size:var(--text-sm);resize:vertical}.comment-deleted{opacity:0.6;font-style:italic}.comment-deleted .comment-text{color:var(--text-color-tertiary)}.comment-pinned{background-color:var(--warning-50);border-left:3px solid var(--warning-500)}.comment-pinned .comment-badge{background-color:var(--warning-100);color:var(--warning-700)}[style*="--carousel-translate-x"]{transform:translateX(var(--carousel-translate-x,0px))}[style*="--carousel-scale"]{transform:scale(var(--carousel-scale,1))}[style*="--carousel-opacity"]{opacity:var(--carousel-opacity,1)}[style*="--carousel-z-index"]{z-index:var(--carousel-z-index,1)}[style*="--carousel-translate-x"][style*="--carousel-scale"]{transform:translateX(var(--carousel-translate-x,0px)) scale(var(--carousel-scale,1))}th.table-width-80,td.table-width-80{width:80px!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}th.table-width-120,td.table-width-120{width:120px!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}th.table-width-160,td.table-width-160{width:160px!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}th.table-width-180,td.table-width-180{width:180px!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}th.table-width-200,td.table-width-200{width:200px!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}th.table-width-240,td.table-width-240{width:240px!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}th.table-width-280,td.table-width-280{width:280px!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}th.table-width-320,td.table-width-320{width:320px!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}th.table-width-400,td.table-width-400{width:400px!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}th.table-width-500,td.table-width-500{width:400px!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.table{table-layout:fixed!important;width:100%!important;min-width:100%!important;max-width:100%!important}th.table-width-auto,td.table-width-auto{min-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.table.table-hover{table-layout:auto!important;width:100%}.table.table-hover th.table-width-auto{width:auto!important;min-width:var(--space-50)}.table.table-hover td.table-width-auto{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.table-responsive{width:100%;overflow-x:auto}th{text-transform:none!important}.form-row{display:flex;flex-direction:row;gap:var(--space-4);margin-bottom:var(--space-3)}.form-group{margin-bottom:var(--space-3);display:flex;flex-direction:column;gap:var(--space-1)}.form-group:last-child{margin-bottom:0}.form-group-animate{opacity:0;transform:translateY(20px);transition:opacity 0.3s ease-out,transform 0.3s ease-out}.form-group-animate.animate-in{opacity:1;transform:translateY(0)}.form-label{display:block;font-size:var(--text-sm);color:var(--neutral-700)}.form-label i{width:23px!important;height:21px!important;margin-right:var(--space-1)}.form-label.required::after{content:' *';color:var(--error-text)}.form-input,.form-textarea,.form-select{display:block;width:100%;height:var(--control-height-base);min-width:var(--space-15);padding:var(--space-2) var(--space-3);font-family:var(--font-sans);font-size:var(--text-sm);line-height:var(--line-height-normal);color:var(--neutral-700);background-color:var(--white);background-image:none;border:1px solid var(--neutral-300);border-radius:var(--radius-base);transition:border-color var(--transition-base),box-shadow var(--transition-base)}.form-input,.form-textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-input:focus,.form-textarea:focus,.form-select:focus{outline:none;border-color:var(--state-focus-border);box-shadow:var(--state-focus-ring)}.form-input:disabled,.form-textarea:disabled,.form-select:disabled{background-color:var(--neutral-100);color:var(--neutral-500);cursor:not-allowed;border-color:var(--neutral-200);opacity:1}.form-input[readonly],.form-textarea[readonly],.form-select[readonly]{background-color:var(--neutral-50);color:var(--neutral-700);cursor:default;border-color:var(--neutral-300)}.select-wrapper{position:relative;display:block;width:100%}.form-select{padding-right:var(--space-10);background-repeat:no-repeat;background-position:right var(--space-2) center;background-size:16px 12px;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%236b7585' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");color:var(--neutral-500);-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-select.has-value{color:var(--neutral-700)}.select-wrapper.has-value .form-select{background-image:none}.form-select option{color:var(--neutral-700)}.form-select option[value=""][disabled]{color:var(--neutral-500)}.form-select:disabled{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%239ca3af' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");color:var(--neutral-500)}.select-wrapper .select-placeholder{position:absolute;top:1px;left:1px;right:var(--space-10);bottom:1px;padding:var(--space-2) var(--space-3);color:var(--neutral-500);font-size:var(--text-sm);line-height:var(--line-height-normal);background-color:transparent;pointer-events:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;z-index:5}.select-wrapper.has-value .select-placeholder{display:none}.select-wrapper:not(.has-value) .form-select{color:transparent}.select-wrapper .select-clear-btn{position:absolute;top:50%;right:var(--space-3);transform:translateY(-50%);width:16px;height:16px;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='%239ba3af' d='M8 0a8 8 0 1 0 0 16A8 8 0 0 0 8 0zm3.5 10.5l-1 1L8 9l-2.5 2.5-1-1L7 8 4.5 5.5l1-1L8 7l2.5-2.5 1 1L9 8l2.5 2.5z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:center;background-size:contain;cursor:pointer;z-index:10;display:none}.select-wrapper .select-clear-btn:hover{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='%234a5568' d='M8 0a8 8 0 1 0 0 16A8 8 0 0 0 8 0zm3.5 10.5l-1 1L8 9l-2.5 2.5-1-1L7 8 4.5 5.5l1-1L8 7l2.5-2.5 1 1L9 8l2.5 2.5z'/%3e%3c/svg%3e")}.select-wrapper.has-value .select-clear-btn{display:block}.select-wrapper.custom-select-ui .form-select{opacity:0;position:absolute;top:0;left:0;width:100%;height:100%;z-index:-1;pointer-events:none}.select-wrapper.custom-select-ui .select-placeholder,.select-wrapper.custom-select-ui .select-clear-btn{display:none!important}.select-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:var(--space-9);padding:var(--space-2) var(--space-3);font-family:var(--font-sans);font-size:var(--text-sm);line-height:var(--line-height-normal);color:var(--neutral-700);background-color:var(--white);border:1px solid var(--neutral-300);border-radius:var(--radius-base);cursor:pointer;transition:border-color var(--transition-base),box-shadow var(--transition-base);user-select:none}.select-trigger:hover{border-color:var(--primary-500)!important}.select-trigger.active{border-color:var(--state-focus-border)}.select-trigger.disabled{background-color:var(--neutral-100);color:var(--neutral-500);cursor:not-allowed;border-color:var(--neutral-200)}.select-trigger-content{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-right:var(--space-2)}.select-trigger-content.placeholder{color:var(--neutral-500)}.select-trigger-icons{display:flex;align-items:center;gap:var(--space-1);flex-shrink:0}.select-arrow{width:16px;height:16px;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%236b7585' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:center;transition:transform 0.2s}.select-trigger.active .select-arrow{transform:rotate(180deg)}.select-trigger-clear{width:16px;height:16px;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='%239ba3af' d='M8 0a8 8 0 1 0 0 16A8 8 0 0 0 8 0zm3.5 10.5l-1 1L8 9l-2.5 2.5-1-1L7 8 4.5 5.5l1-1L8 7l2.5-2.5 1 1L9 8l2.5 2.5z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:center;cursor:pointer;display:none}.select-trigger-clear:hover{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='%234a5568' d='M8 0a8 8 0 1 0 0 16A8 8 0 0 0 8 0zm3.5 10.5l-1 1L8 9l-2.5 2.5-1-1L7 8 4.5 5.5l1-1L8 7l2.5-2.5 1 1L9 8l2.5 2.5z'/%3e%3c/svg%3e")}.select-trigger.has-value:not(.disabled) .select-trigger-clear{display:block}.select-trigger.has-value:not(.disabled) .select-arrow{display:none}.select-dropdown{position:absolute;top:100%;left:0;width:100%;margin-top:var(--space-1);background-color:var(--white);border:1px solid var(--neutral-200);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:1050;display:none;max-height:240px;overflow-y:auto;animation:slideDown 0.2s ease-out}.select-dropdown.show{display:block}.select-dropdown.dropdown-fixed{position:fixed;width:auto;min-width:0;box-sizing:border-box}.select-option{padding:var(--space-2) var(--space-3);font-size:var(--text-sm);color:var(--neutral-700);cursor:pointer;transition:background-color 0.1s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.select-option:hover{background-color:var(--primary-50)!important;color:var(--neutral-900)}.select-option.selected{color:var(--primary-700);background-color:var(--neutral-100);font-weight:var(--font-weight-medium)}.select-option.disabled{color:var(--neutral-400);cursor:not-allowed;background-color:transparent}.select-option.hidden{display:none}@keyframes slideDown{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.form-input::placeholder,.form-textarea::placeholder{color:var(--neutral-500);font-size:var(--text-sm);font-family:var(--font-sans);line-height:var(--line-height-normal);font-weight:var(--font-weight-normal);opacity:1}.form-input::-webkit-input-placeholder,.form-textarea::-webkit-input-placeholder{color:var(--neutral-500);font-size:var(--text-sm);font-family:var(--font-sans);line-height:var(--line-height-normal);font-weight:var(--font-weight-normal);opacity:1}.form-input::-moz-placeholder,.form-textarea::-moz-placeholder{color:var(--neutral-500);font-size:var(--text-sm);font-family:var(--font-sans);line-height:var(--line-height-normal);font-weight:var(--font-weight-normal);opacity:1}.form-input:-ms-input-placeholder,.form-textarea:-ms-input-placeholder{color:var(--neutral-500);font-size:var(--text-sm);font-family:var(--font-sans);line-height:var(--line-height-normal);font-weight:var(--font-weight-normal);opacity:1}.form-control::placeholder{color:var(--neutral-500);font-size:var(--text-sm);font-family:inherit;line-height:inherit;font-weight:inherit;opacity:1}.form-control::-webkit-input-placeholder{color:var(--neutral-500);font-size:var(--text-sm);font-family:inherit;line-height:inherit;font-weight:inherit;opacity:1}.form-control::-moz-placeholder{color:var(--neutral-500);font-size:var(--text-sm);font-family:inherit;line-height:inherit;font-weight:inherit;opacity:1}.form-control:-ms-input-placeholder{color:var(--neutral-500);font-size:var(--text-sm);font-family:inherit;line-height:inherit;font-weight:inherit;opacity:1}textarea.form-textarea{resize:vertical;height:auto;min-height:var(--control-height-base)}.textarea-wrapper{position:relative;display:block;width:100%}.textarea-wrapper .fake-placeholder{position:absolute;top:1px;left:1px;right:1px;padding:var(--space-2) var(--space-3);color:var(--neutral-500);font-family:var(--font-sans);font-size:var(--text-sm);line-height:var(--line-height-normal);font-weight:var(--font-weight-normal);pointer-events:none;user-select:none;z-index:5;white-space:pre-wrap;overflow:hidden;background-color:transparent}.textarea-wrapper textarea:not(:placeholder-shown) ~ .fake-placeholder,.textarea-wrapper textarea.has-value ~ .fake-placeholder{display:none}.textarea-wrapper textarea::placeholder,.textarea-wrapper textarea::-webkit-input-placeholder,.textarea-wrapper textarea::-moz-placeholder,.textarea-wrapper textarea:-ms-input-placeholder{color:transparent!important;opacity:0!important}.textarea-wrapper textarea:disabled ~ .fake-placeholder{color:var(--neutral-500)}.textarea-wrapper textarea[readonly] ~ .fake-placeholder{color:var(--neutral-500)}.form-text{font-size:var(--text-xs);color:var(--text-color-tertiary)}.form-container{max-width:1000px;margin:0 auto}.form-card{background:var(--white);border:1px solid var(--neutral-200);border-radius:var(--radius-base);overflow:hidden}.form-header{text-align:center;padding:var(--space-3)}.form-title{font-size:var(--text-xl);font-weight:var(--font-weight-semibold);color:var(--neutral-700);margin:0 0 var(--space-2) 0}.form-description{font-size:var(--text-sm);color:var(--neutral-600);margin:0}.form-content{padding:var(--space-6)}.form-section{margin-bottom:var(--space-6);overflow:visible}.form-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.form-section-meta{display:flex;justify-content:space-between;align-items:end;gap:var(--space-3);background:var(--neutral-50);padding:var(--space-6);border-radius:var(--radius-base);margin-bottom:var(--space-6)}.form-section-title{font-size:var(--text-xl);font-weight:var(--font-weight-semibold)}.form-section-description{font-size:var(--text-sm)}.form-row{display:flex;flex-direction:row;gap:var(--space-4);margin-bottom:var(--space-4)}.form-grid{display:grid;gap:var(--space-4)}.form-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.form-grid-5{grid-template-columns:repeat(5,minmax(0,1fr))}.form-grid-auto{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--space-4)}.file-upload-area{position:relative;border:2px dashed var(--neutral-200);border-radius:var(--radius-base);text-align:center;background:var(--neutral-100);cursor:pointer}.file-upload-area.drag-over{border-color:var(--primary-500);background:var(--primary-100)}.file-upload-area input[type="file"]{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.file-upload-overlay{margin-top:var(--space-3);pointer-events:none;padding:var(--space-10)}.file-upload-overlay:hover{border-color:var(--primary-500);background:var(--primary-50)}.file-upload-overlay i{font-size:var(--text-4xl);color:var(--primary-500);margin-bottom:var(--space-3)}.file-upload-overlay p{font-size:var(--text-lg);color:var(--text-color-primary);margin-bottom:var(--space-2)}.file-upload-overlay small{color:var(--text-color-secondary)}.file-upload-overlay.file-selected{color:var(--success-600)}.file-upload-overlay.file-selected i{color:var(--success-600)}.form-section .file-upload-area{border:2px dashed var(--neutral-200);border-radius:var(--radius-base);text-align:center;background:var(--neutral-100)}.form-section .file-upload-area:hover{border-color:var(--primary-300);background:rgba(35,150,85,0.1)}.form-section .file-upload-overlay{pointer-events:none}.form-section .file-upload-overlay i{font-size:var(--space-12);color:var(--color-primary);margin-bottom:var(--space-3)}.form-section .file-upload-overlay p{font-size:var(--text-lg);font-weight:600;color:var(--color-text-primary);margin:0 0 var(--space-3) 0}.form-section .file-upload-overlay small{color:var(--neutral-500);font-size:var(--text-sm)}.form-help{font-size:var(--text-xs);color:var(--neutral-400);margin-top:var(--space-1);line-height:var(--line-height-normal)}.form-error{font-size:var(--text-xs);color:var(--error-text);margin-top:var(--space-1);display:flex;align-items:center;gap:var(--space-1)}.field-error{font-size:var(--text-xs);color:var(--error-text);margin-top:var(--space-1);display:block}.error-list{margin-top:var(--space-2);margin-bottom:0;padding-left:var(--space-4)}.form-input.error,.form-select.error,.form-textarea.error{border-color:var(--error-border)}.form-input.error:focus,.form-select.error:focus,.form-textarea.error:focus{border-color:var(--border-color-error);box-shadow:var(--state-focus-ring-error)}.form-actions-section{margin-top:var(--space-xl);padding:var(--space-xl);background:var(--color-primary-light);border-radius:var(--radius-base);border:1px solid var(--color-border)}.form-actions{display:flex;gap:var(--space-3);justify-content:flex-end}.form-actions-left{display:flex;gap:var(--space-3)}.form-actions-right{display:flex;gap:var(--space-3);margin-left:auto}.form-item{display:flex;flex-direction:column;gap:var(--space-4)}.form-item.dragging{opacity:0.5;transform:rotate(2deg);box-shadow:var(--shadow-lg)}.form-item.drag-over{border-color:var(--primary-color);background-color:var(--primary-50)}.form-switch{position:relative;display:inline-flex;align-items:center;gap:var(--space-2);min-height:var(--control-height-base)}.form-switch-input{position:relative;width:46px;height:26px;background-color:var(--neutral-300);border-radius:var(--radius-full);border:none;cursor:pointer;transition:var(--transition-colors);appearance:none;outline:none}.form-switch-input:hover{background-color:var(--neutral-600)}.form-switch-input::before{content:'';position:absolute;top:2px;left:2px;width:22px;height:22px;background-color:var(--white);border-radius:var(--radius-full);transition:transform var(--transition-base);box-shadow:var(--shadow-sm)}.form-switch-input:checked{background-color:var(--primary-600)}.form-switch-input:checked::before{transform:translateX(20px)}.form-switch-input:disabled{opacity:0.6;cursor:not-allowed}.form-switch-input:focus{box-shadow:var(--shadow-focus-ring)}.form-switch-label{font-size:var(--text-sm);color:var(--neutral-700);cursor:pointer;user-select:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.form-switch-input:disabled+.form-switch-label{color:var(--neutral-400);cursor:not-allowed}.form-switch-primary .form-switch-input:checked{background-color:var(--primary-600)}.form-switch-success .form-switch-input:checked{background-color:var(--success-500)}.form-switch-success .form-switch-input:focus{box-shadow:var(--shadow-focus-ring-success)}.form-switch-warning .form-switch-input:checked{background-color:var(--warning-500)}.form-switch-warning .form-switch-input:focus{box-shadow:var(--shadow-focus-ring-warning)}.form-switch-error .form-switch-input:checked{background-color:var(--error-border)}.form-switch-error .form-switch-input:focus{box-shadow:var(--shadow-focus-ring-error)}.form-switch-custom{position:relative;display:inline-flex;align-items:center;gap:var(--space-2)}.form-switch-custom-input{position:relative;width:calc(var(--slider-width,50px) * 2 + 8px);height:var(--control-height-base);background-color:var(--neutral-200);border-radius:var(--radius-base);border:1px solid var(--neutral-300);cursor:pointer;transition:background-color var(--transition-base),width var(--transition-base);appearance:none;outline:none;overflow:hidden}.form-switch-custom-input:hover{background-color:var(--neutral-300)}.form-switch-custom-input::before{content:var(--slider-text,'');position:absolute;top:2px;left:2px;width:var(--slider-width,50px);min-width:var(--space-8);height:calc(var(--control-height-base) - 6px);background-color:var(--white);border-radius:var(--radius-base);transition:transform var(--transition-base),width var(--transition-base),content var(--transition-base);box-shadow:var(--shadow-sm);z-index:10;display:flex;align-items:center;justify-content:center;font-size:var(--text-xs);font-weight:var(--font-weight-medium);color:var(--neutral-900);pointer-events:none;line-height:1.175}.form-switch-custom-input::after{content:var(--hint-text,'');position:absolute;top:2px;left:2px;transform:translateX(calc(var(--slider-width,50px) + 2px));width:var(--slider-width,50px);height:calc(var(--control-height-base) - 6px);display:flex;align-items:center;justify-content:center;font-size:var(--text-xs);font-weight:var(--font-weight-medium);color:var(--neutral-900);background-color:transparent;z-index:1;pointer-events:none;transition:transform var(--transition-base),content var(--transition-base);line-height:1.175}.form-switch-custom-options{display:none}.form-switch-custom-input:checked{background-color:var(--neutral-200)}.form-switch-custom-input:checked::before{transform:translateX(calc(var(--slider-width,50px) + 2px));left:2px}.form-switch-custom-input:checked::after{transform:translateX(0);left:2px;justify-content:center}.form-switch-custom-input:disabled{opacity:0.6;cursor:not-allowed}.form-switch-custom-input:focus{box-shadow:var(--shadow-focus-ring)}.form-input:disabled,.form-select:disabled,.form-textarea:disabled{background:var(--state-disabled-bg);border-color:var(--state-disabled-border);color:var(--neutral-600);cursor:var(--state-disabled-cursor)}.input-number{display:inline-flex;align-items:stretch;border:1px solid var(--neutral-300);border-radius:var(--radius-base);overflow:hidden;background-color:var(--white);transition:var(--transition-border);height:var(--control-height-base)}.input-number:hover{border-color:var(--primary-400)}.input-number:focus-within{border-color:var(--primary-600);box-shadow:var(--shadow-focus-ring)}.input-number-input{flex:1;border:none;outline:none;padding:var(--space-2) var(--space-3);font-size:var(--text-base);text-align:center;min-width:var(--space-20);-moz-appearance:textfield;appearance:textfield}.input-number-input::-webkit-outer-spin-button,.input-number-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.input-number-btn{display:flex;align-items:center;justify-content:center;width:var(--space-8);border:none;background-color:var(--neutral-100);color:var(--neutral-600);cursor:pointer;transition:background-color var(--transition-base),color var(--transition-base);user-select:none}.input-number-btn:hover:not(:disabled){background-color:var(--neutral-200);color:var(--neutral-800)}.input-number-btn:active:not(:disabled){background-color:var(--neutral-300)}.input-number-btn:disabled{opacity:0.4;cursor:not-allowed}.input-number-sm .input-number-input{padding:var(--space-1) var(--space-2);font-size:var(--text-sm);min-width:var(--space-15)}.input-number-sm .input-number-btn{width:var(--space-6)}.input-number-lg .input-number-input{padding:var(--space-3) var(--space-4);font-size:var(--text-lg);min-width:100px}.input-number-lg .input-number-btn{width:var(--space-10)}.input-number.disabled{opacity:0.6;cursor:not-allowed;background-color:var(--neutral-50)}.input-number.disabled .input-number-input{cursor:not-allowed;background-color:transparent}.custom-phone-input{position:relative;width:100%}.custom-phone-input .custom-phone-label{color:var(--neutral-600);margin:0 var(--space-2)}.custom-phone-trigger{position:relative;display:flex;align-items:center;width:100%;height:var(--control-height-base);padding:0 var(--space-3);background-color:var(--white);border-radius:var(--radius-base);border:var(--border-default);transition:border-color var(--transition-base),box-shadow var(--transition-base);cursor:text}.custom-phone-trigger:hover{border-color:var(--primary-500)}.custom-phone-trigger:focus-within{border-color:var(--primary-600);box-shadow:var(--shadow-focus-ring-sm)}.custom-phone-trigger.error{border-color:var(--error-border)}.custom-phone-trigger.error:focus-within{border-color:var(--error-border);box-shadow:var(--shadow-focus-ring-error-sm)}.custom-phone-display{flex:1;border:none;outline:none;background:transparent;font-size:var(--text-sm);color:var(--neutral-600);padding:0;margin:0}.custom-phone-display::placeholder{color:var(--neutral-500);font-size:var(--text-sm);font-family:inherit;line-height:inherit;font-weight:inherit;opacity:1}.custom-phone-display::-webkit-input-placeholder{color:var(--neutral-500);font-size:var(--text-sm);font-family:inherit;line-height:inherit;font-weight:inherit;opacity:1}.custom-phone-display::-moz-placeholder{color:var(--neutral-500);font-size:var(--text-sm);font-family:inherit;line-height:inherit;font-weight:inherit;opacity:1}.custom-phone-display:-ms-input-placeholder{color:var(--neutral-500);font-size:var(--text-sm);font-family:inherit;line-height:inherit;font-weight:inherit;opacity:1}.custom-phone-error{position:absolute;top:100%;left:0;right:0;margin-top:var(--space-1);padding:var(--space-1) var(--space-2);background-color:var(--error-bg);border:1px solid var(--error-border);border-radius:var(--radius-base);font-size:var(--text-sm);color:var(--error-text);display:none;z-index:10}.custom-phone-error.show{display:block}.custom-phone-error::before{content:'';position:absolute;top:-6px;left:var(--space-3);width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid var(--error-border)}.custom-phone-error::after{content:'';position:absolute;top:-5px;left:var(--space-3);width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:5px solid var(--error-bg)}.custom-file-review{width:100%;aspect-ratio:16 / 9}.custom-file-review img{width:100%;height:100%;object-fit:cover}.custom-file-upload{position:relative;width:100%}.custom-file-input{position:absolute;opacity:0;width:0;height:0;overflow:hidden;pointer-events:none}.custom-file-trigger{display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-3);height:var(--control-height-base);font-size:var(--text-sm);color:var(--neutral-700);background-color:var(--white);border:1px solid var(--neutral-300);border-radius:var(--radius-base);cursor:pointer;transition:border-color var(--transition-base),box-shadow var(--transition-base);box-sizing:border-box;position:relative;pointer-events:auto}.custom-file-trigger:hover{border-color:var(--primary-500)}.custom-file-trigger:focus-within{outline:none;border-color:var(--primary-500);box-shadow:var(--shadow-focus-ring)}.custom-file-trigger:disabled{background-color:var(--neutral-100);color:var(--neutral-500);cursor:not-allowed;opacity:0.6}.custom-file-trigger.error{border-color:var(--error-border)}.custom-file-trigger.error:focus-within{border-color:var(--error-border);box-shadow:var(--shadow-focus-ring-error)}.custom-file-display{flex:1;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-sm);color:var(--neutral-600);line-height:1.175}.custom-file-placeholder{color:var(--neutral-500)}.custom-file-selected{color:var(--primary-700);font-weight:var(--font-weight-medium)}.custom-file-icon{color:var(--file-icon-color,var(--neutral-500));margin-right:var(--space-2);font-size:var(--text-base)}.custom-file-button{background-color:var(--primary-600);color:var(--white);border:none;border-radius:var(--radius-base);border-left:1px solid var(--neutral-300);cursor:pointer;padding:var(--space-1);transition:background-color var(--transition-base)}.custom-file-button:hover{background-color:var(--primary-700);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.custom-file-button:active{transform:translateY(0);box-shadow:none}.custom-file-button:disabled{background-color:var(--neutral-400);cursor:not-allowed;transform:none;box-shadow:none}.custom-file-list{margin-top:var(--space-2);padding:var(--space-2);background-color:var(--neutral-50);border-radius:var(--radius-sm);border:1px solid var(--neutral-200)}.custom-file-item{display:flex;align-items:center;justify-content:space-between;padding:var(--space-1) var(--space-2);background-color:var(--white);border-radius:var(--radius-xs);margin-bottom:var(--space-1);border:1px solid var(--neutral-200)}.custom-file-item:last-child{margin-bottom:0}.custom-file-info{display:flex;align-items:center;flex:1;min-width:0}.custom-file-name{font-size:var(--text-sm);color:var(--neutral-700);font-weight:var(--font-weight-medium);margin-left:var(--space-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.custom-file-size{font-size:var(--text-xs);color:var(--neutral-500);margin-left:var(--space-2)}.custom-file-remove{background:none;border:none;color:var(--error-icon);cursor:pointer;padding:var(--space-1);border-radius:var(--radius-xs);transition:background-color var(--transition-base),color var(--transition-base);font-size:var(--text-sm);position:relative;z-index:10}.custom-file-remove:hover{background-color:var(--error-bg);color:var(--error-text)}.custom-file-upload .custom-file-trigger i{color:var(--neutral-300)}.custom-file-upload .custom-file-trigger .custom-file-remove{color:var(--error-icon)}.custom-file-upload.drag-over .custom-file-trigger{border-color:var(--primary-500);background-color:var(--primary-50);border-style:dashed}.custom-file-upload.drag-over .custom-file-display{color:var(--primary-600);font-size:var(--text-sm)}.custom-file-upload.multiple .custom-file-trigger{align-items:center}.custom-file-upload.multiple .custom-file-display{display:flex;flex-direction:column;align-items:flex-start;color:var(--primary-600);font-size:var(--text-sm);line-height:1.175}.custom-file-count{font-size:var(--text-xs);color:var(--neutral-500);margin-top:var(--space-1)}.custom-file-item.existing-file{background-color:var(--primary-50);border-color:var(--primary-200)}.custom-file-item.existing-file .custom-file-name{color:var(--primary-700)}.custom-file-item.existing-file .custom-file-size{color:var(--primary-600)}.custom-file-item.existing-file .custom-file-remove{color:var(--warning-500);cursor:pointer}.custom-file-item.existing-file .custom-file-remove:hover{color:var(--warning-600);background-color:transparent}.custom-time-picker,.custom-datetime-picker{position:relative;width:100%}.custom-time-trigger,.custom-datetime-trigger{position:relative;display:flex;align-items:center;justify-content:space-between;width:100%;height:var(--control-height-base);padding:0 var(--space-3);background-color:var(--white);border:1px solid var(--neutral-300);border-radius:var(--radius-base);transition:border-color var(--transition-base),box-shadow var(--transition-base);cursor:pointer}.custom-time-trigger:hover,.custom-datetime-trigger:hover{border-color:var(--primary-500)}.custom-time-trigger:focus,.custom-datetime-trigger:focus{border-color:var(--primary-600);box-shadow:var(--shadow-focus-ring)}.custom-time-trigger.active,.custom-datetime-trigger.active{border-color:var(--primary-600)}.custom-time-trigger:disabled,.custom-datetime-trigger:disabled{background-color:var(--neutral-50);border-color:var(--neutral-200);color:var(--neutral-400);cursor:not-allowed}.custom-time-trigger.error,.custom-datetime-trigger.error{border-color:var(--error-border)}.custom-time-trigger.error:focus,.custom-datetime-trigger.error:focus{border-color:var(--error-border);box-shadow:var(--shadow-focus-ring-error)}.custom-time-display,.custom-datetime-display{flex:1;color:var(--neutral-600);font-size:var(--text-sm);font-weight:var(--font-weight-medium);text-align:left}.custom-time-trigger i,.custom-datetime-trigger i{color:var(--neutral-400);font-size:var(--text-sm);transition:color var(--transition-base)}.custom-time-trigger.active .custom-time-display,.custom-datetime-trigger.active .custom-datetime-display{color:var(--primary-600);font-size:var(--text-sm);font-weight:var(--font-weight-medium)}.custom-time-trigger.active i,.custom-datetime-trigger.active i{color:var(--primary-600)}.custom-time-dropdown,.custom-datetime-dropdown{position:absolute;top:100%;left:0;right:0;margin-top:var(--space-1);background-color:var(--white);border:1px solid var(--neutral-200);border-radius:var(--radius-base);box-shadow:var(--shadow-lg);z-index:1050;display:none;overflow:hidden}.custom-time-dropdown.show,.custom-datetime-dropdown.show{display:block}.custom-time-columns{display:flex;height:var(--space-50)}.custom-time-column{flex:1;overflow-y:auto;scroll-behavior:smooth;border-right:1px solid var(--neutral-200);scrollbar-width:none;-ms-overflow-style:none}.custom-time-column::-webkit-scrollbar{display:none}.custom-time-column:last-child{border-right:none}.custom-time-option{display:flex;align-items:center;justify-content:center;height:var(--space-10);padding:var(--space-2);font-size:var(--text-base);color:var(--text-color-primary);cursor:pointer;transition:background-color var(--transition-base);border-bottom:1px solid var(--neutral-100)}.custom-time-option:hover{background-color:var(--primary-50)}.custom-time-option.selected{background-color:var(--primary-100);color:var(--primary-700);font-weight:var(--font-weight-medium)}.custom-time-option:last-child{border-bottom:none}.custom-time-option.disabled{color:var(--neutral-300);cursor:not-allowed}.custom-time-option.disabled:hover{background-color:transparent}.custom-date-picker{width:100%}.custom-date-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;height:var(--control-height-base);padding:0 var(--space-3);background-color:var(--white);border:1px solid var(--neutral-300);border-radius:var(--radius-base);transition:border-color var(--transition-base),box-shadow var(--transition-base);cursor:pointer}.custom-date-trigger:hover{border-color:var(--primary-500)}.custom-date-trigger:focus{border-color:var(--primary-600);box-shadow:var(--shadow-focus-ring)}.custom-date-trigger.active{border-color:var(--primary-600)}.custom-date-trigger:disabled{background-color:var(--neutral-50);border-color:var(--neutral-200);color:var(--neutral-400);cursor:not-allowed}.custom-date-trigger.error{border-color:var(--error-border)}.custom-date-trigger.error:focus{border-color:var(--error-border);box-shadow:var(--shadow-focus-ring-error)}.custom-date-display{flex:1;font-size:var(--text-sm);font-weight:var(--font-weight-medium);color:var(--neutral-600);text-align:left;line-height:1.175}.custom-date-trigger i{color:var(--neutral-400);font-size:var(--text-sm);transition:color var(--transition-base)}.custom-date-trigger.active .custom-date-display{color:var(--primary-600);font-size:var(--text-sm);font-weight:var(--font-weight-medium)}.custom-date-trigger.active i{color:var(--primary-600)}.custom-date-dropdown{position:absolute;margin-top:var(--space-1);background-color:var(--white);border:1px solid var(--neutral-200);border-radius:var(--radius-base);box-shadow:var(--shadow-lg);z-index:1050;display:none;overflow:hidden;min-width:var(--space-70)}.custom-date-dropdown.dropdown-fixed{position:fixed;right:auto}.custom-date-dropdown.show{display:block}.custom-date-dropdown.show.dropdown-fixed{position:fixed;top:var(--dropdown-top,auto);left:var(--dropdown-left,auto);z-index:var(--dropdown-z-index,1050)}.custom-date-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-1) var(--space-3);border-bottom:1px solid var(--neutral-200)}.custom-date-prev-year,.custom-date-prev-month,.custom-date-next-month,.custom-date-next-year{display:flex;align-items:center;justify-content:center;width:var(--space-8);height:var(--space-8);border:none;background-color:transparent;color:var(--neutral-600);font-size:var(--text-lg);cursor:pointer;border-radius:var(--radius-base);transition:background-color var(--transition-base),color var(--transition-base)}.custom-date-prev-year:hover,.custom-date-prev-month:hover,.custom-date-next-month:hover,.custom-date-next-year:hover{background-color:var(--primary-50);color:var(--primary-600)}.custom-date-current{font-size:var(--text-base);font-weight:var(--font-weight-medium);color:var(--text-color-primary);text-align:center;flex:1;margin:0 var(--space-2)}.custom-date-weekdays{display:grid;grid-template-columns:repeat(7,var(--space-8));border-bottom:1px solid var(--neutral-200);gap:var(--space-1);justify-content:center}.custom-date-weekday{display:flex;align-items:center;justify-content:center;height:var(--space-8);font-size:var(--text-sm);font-weight:var(--font-weight-medium)}.custom-date-days{display:grid;grid-template-columns:repeat(7,var(--space-8));padding:var(--space-2) 0 var(--space-4);gap:var(--space-1);justify-content:center}.custom-date-day{display:flex;align-items:center;justify-content:center;width:var(--space-8);height:var(--space-8);font-size:var(--text-sm);color:var(--text-color-primary);cursor:pointer;border-radius:var(--radius-base);transition:background-color var(--transition-base),color var(--transition-base);position:relative}.custom-date-day:hover{background-color:var(--primary-50);color:var(--primary-600)}.custom-date-day.selected{background-color:var(--primary-600);color:var(--white);font-weight:var(--font-weight-medium)}.custom-date-day.today{background-color:var(--info-100);color:var(--info-700);font-weight:var(--font-weight-medium)}.custom-date-day.today.selected{background-color:var(--primary-600);color:var(--white)}.custom-date-day.disabled{color:var(--neutral-300);cursor:not-allowed;background-color:transparent}.custom-date-day.disabled:hover{background-color:transparent;color:var(--neutral-300)}.custom-date-day.other-month{color:var(--neutral-400)}.custom-date-day.other-month:hover{background-color:var(--neutral-100);color:var(--neutral-600)}.custom-daterange-picker{width:100%}.custom-daterange-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;height:var(--control-height-base);padding:0 var(--space-3);background-color:var(--white);border:1px solid var(--neutral-300);border-radius:var(--radius-base);transition:border-color var(--transition-base),box-shadow var(--transition-base);cursor:pointer}.custom-daterange-trigger:hover{border-color:var(--primary-500)}.custom-daterange-trigger:focus{border-color:var(--primary-600);box-shadow:var(--shadow-focus-ring)}.custom-daterange-trigger.active{border-color:var(--primary-600)}.custom-daterange-trigger:disabled{background-color:var(--neutral-50);border-color:var(--neutral-200);color:var(--neutral-400);cursor:not-allowed}.custom-daterange-trigger.error{border-color:var(--error-border)}.custom-daterange-trigger.error:focus{border-color:var(--error-border);box-shadow:var(--shadow-focus-ring-error)}.custom-daterange-display{flex:1;font-size:var(--text-sm);color:var(--neutral-600);text-align:left}.custom-daterange-trigger i{color:var(--neutral-400);font-size:var(--text-sm);transition:color var(--transition-base)}.custom-daterange-trigger.active .custom-daterange-display{color:var(--primary-600);font-size:var(--text-sm);font-weight:var(--font-weight-medium)}.custom-daterange-trigger.active i{color:var(--primary-600)}.custom-daterange-dropdown{position:absolute;top:100%;left:0;margin-top:var(--space-1);background-color:var(--white);border:1px solid var(--neutral-200);border-radius:var(--radius-base);box-shadow:var(--shadow-lg);z-index:1050;display:none;overflow:hidden;min-width:var(--space-150);flex-direction:row}.custom-daterange-dropdown.show{display:flex}.custom-daterange-dropdown.dropdown-fixed{position:fixed;right:auto}.custom-daterange-dropdown.show.dropdown-fixed{position:fixed;top:var(--dropdown-top,auto);left:var(--dropdown-left,auto);z-index:8000}.custom-daterange-container{display:flex;flex-direction:row;flex:1;min-width:0}.custom-daterange-shortcuts{flex:0 0 150px;width:150px;background-color:var(--neutral-50);border-right:1px solid var(--neutral-200);padding:var(--space-3);overflow-y:auto}.custom-daterange-content{flex:1;min-width:0;display:flex;flex-direction:column;padding:var(--space-4);gap:var(--space-2)}.custom-daterange-shortcuts button{display:block;width:100%;padding:var(--space-1);margin-bottom:var(--space-1);border:none;background-color:transparent;color:var(--text-color-primary);font-size:var(--text-sm);text-align:left;cursor:pointer;border-radius:var(--radius-base);transition:background-color var(--transition-base),color var(--transition-base)}.custom-daterange-shortcuts button:hover{background-color:var(--primary-100);color:var(--primary-600)}.custom-daterange-shortcuts button.active{background-color:var(--primary-100);color:var(--primary-700);font-weight:var(--font-weight-medium)}.custom-daterange-calendar{position:relative;display:flex;flex-direction:row;gap:var(--space-8);flex-wrap:nowrap}.custom-daterange-input{flex:0 0 auto;width:calc(2 * (7 * var(--space-8) + 6 * var(--space-1)) + var(--space-8));max-width:100%;margin-bottom:var(--space-2)}.custom-daterange-input-text{display:block;width:100%;padding:var(--space-2) var(--space-3);font-size:var(--text-sm);color:var(--text-color-primary);background-color:var(--white);border:1px solid var(--neutral-300);border-radius:var(--radius-base);transition:border-color var(--transition-base),box-shadow var(--transition-base)}.custom-daterange-input-text::placeholder{color:var(--neutral-400)}.custom-daterange-input-text:hover{border-color:var(--neutral-400)}.custom-daterange-input-text:focus{outline:none;border-color:var(--primary-500);box-shadow:var(--shadow-focus-ring)}.custom-daterange-calendar-left,.custom-daterange-calendar-right{flex:0 0 auto;width:calc(7 * var(--space-8) + 6 * var(--space-1));min-width:0}.custom-daterange-calendar::after{content:'';position:absolute;left:calc(7 * var(--space-8) + 6 * var(--space-1) + var(--space-8) / 2 - 1px);top:0;bottom:0;width:1px;background-color:var(--neutral-200);pointer-events:none}.custom-date-left-header,.custom-date-right-header{display:flex;align-items:center;justify-content:space-between;margin:0 0 var(--space-1) 0;gap:var(--space-1);min-width:0}.custom-date-left-header .custom-date-prev-year,.custom-date-left-header .custom-date-prev-month,.custom-date-left-header .custom-date-next-month,.custom-date-left-header .custom-date-next-year,.custom-date-right-header .custom-date-prev-year,.custom-date-right-header .custom-date-prev-month,.custom-date-right-header .custom-date-next-month,.custom-date-right-header .custom-date-next-year{padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);background-color:var(--white);color:var(--text-color-primary);font-size:var(--text-sm);cursor:pointer;transition:background-color var(--transition-base),border-color var(--transition-base)}.custom-date-left-header .custom-date-prev-year:hover,.custom-date-left-header .custom-date-prev-month:hover,.custom-date-left-header .custom-date-next-month:hover,.custom-date-left-header .custom-date-next-year:hover,.custom-date-right-header .custom-date-prev-year:hover,.custom-date-right-header .custom-date-prev-month:hover,.custom-date-right-header .custom-date-next-month:hover,.custom-date-right-header .custom-date-next-year:hover{background-color:var(--neutral-50);border-color:var(--neutral-400)}.custom-date-left-header .custom-date-current,.custom-date-right-header .custom-date-current{font-size:var(--text-sm);font-weight:var(--font-weight-medium);color:var(--text-color-primary);min-width:0;flex:1;text-align:center}.custom-date-left-weekdays,.custom-date-right-weekdays{display:grid;grid-template-columns:repeat(7,var(--space-8));gap:var(--space-1);margin:0 0 var(--space-1) 0}.custom-daterange-calendar-left .custom-date-weekday,.custom-daterange-calendar-right .custom-date-weekday{text-align:center;font-size:var(--text-xs);color:var(--neutral-500)}.custom-date-left-days,.custom-date-right-days{display:grid;grid-template-columns:repeat(7,var(--space-8));gap:var(--space-1);margin:0}.custom-daterange-calendar .custom-date-header{margin:0}.custom-daterange-calendar .custom-date-weekdays,.custom-daterange-calendar .custom-date-days{margin:0}.custom-daterange-actions{display:flex;justify-content:flex-end;gap:var(--space-2);padding:var(--space-3) 0 0 0;border-top:1px solid var(--neutral-200)}.custom-daterange-btn{padding:var(--space-1) var(--space-3);border:1px solid var(--neutral-300);border-radius:var(--radius-sm);background-color:var(--white);color:var(--text-color-primary);font-size:var(--text-sm);cursor:pointer;transition:background-color var(--transition-base),color var(--transition-base)}.custom-daterange-btn:hover{background-color:var(--neutral-100);border-color:var(--neutral-400)}.custom-daterange-btn.confirm{background-color:var(--primary-600);color:var(--white);border-color:var(--primary-600)}.custom-daterange-btn.confirm:hover{background-color:var(--primary-700);border-color:var(--primary-700)}.custom-daterange-btn:disabled{background-color:var(--neutral-100);color:var(--neutral-400);border-color:var(--neutral-200);cursor:not-allowed}.custom-date-day.in-range{background-color:var(--primary-50);color:var(--primary-700)}.custom-date-day.range-start{background-color:var(--primary-600);color:var(--white);font-weight:var(--font-weight-medium)}.custom-date-day.range-end{background-color:var(--primary-600);color:var(--white);font-weight:var(--font-weight-medium)}.custom-date-day.range-start.in-range{background-color:var(--primary-600);color:var(--white)}.custom-date-day.range-end.in-range{background-color:var(--primary-600);color:var(--white)}.custom-date-day.today.in-range{background-color:var(--primary-100);color:var(--primary-700)}.custom-date-day.today.range-start,.custom-date-day.today.range-end{background-color:var(--primary-600);color:var(--white)}.multi-select-dropdown{width:100%}.multi-select-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;height:var(--control-height-base);padding:0 var(--space-3);font-size:var(--text-sm);color:var(--neutral-700);background-color:var(--white);border:1px solid var(--neutral-300);border-radius:var(--radius-base);cursor:pointer;transition:border-color var(--transition-base),box-shadow var(--transition-base)}.multi-select-trigger:hover{border-color:var(--primary-500)}.multi-select-trigger:focus{outline:none;border-color:var(--primary-500);box-shadow:var(--shadow-focus-ring)}.multi-select-trigger.active{border-color:var(--primary-600)}.multi-select-trigger:disabled{background-color:var(--neutral-100);color:var(--neutral-500);cursor:not-allowed;opacity:0.6}.multi-select-trigger.error{border-color:var(--error-border)}.multi-select-trigger.error:focus{border-color:var(--error-border);box-shadow:var(--shadow-focus-ring-error)}.multi-select-display{flex:1;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.multi-select-placeholder{color:var(--neutral-500)}.multi-select-count{color:var(--primary-700);font-weight:var(--font-weight-medium)}.multi-select-arrow{color:var(--neutral-500);transition:transform var(--transition-base);margin-left:var(--space-2);font-size:var(--text-xs)}.multi-select-trigger.active .multi-select-arrow{transform:rotate(180deg)}.multi-select-options{position:absolute;top:100%;left:0;right:0;background:var(--white);border:1px solid var(--neutral-300);border-top:none;border-radius:0 0 var(--radius-md) var(--radius-base);box-shadow:var(--shadow-md);z-index:1050;max-height:var(--space-50);overflow-y:auto;overflow-x:hidden;display:none}.multi-select-options.show{display:block}.multi-select-options.dropdown-fixed{position:fixed;right:auto}.multi-select-search{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--neutral-200);background:var(--neutral-50)}.multi-select-search input{width:100%;padding:var(--space-1) var(--space-2);font-size:var(--text-xs);color:var(--neutral-700);background-color:var(--white);border:1px solid var(--neutral-300);border-radius:var(--radius-sm);outline:none}.multi-select-search input:focus{border-color:var(--primary-500);box-shadow:var(--shadow-focus-ring-sm)}.multi-select-option{display:flex;align-items:center;padding:var(--space-2) var(--space-3);cursor:pointer;transition:background-color var(--transition-base);border-bottom:1px solid var(--neutral-100)}.multi-select-option:last-child{border-bottom:none}.multi-select-option:hover{background-color:var(--primary-50)}.multi-select-option input[type="checkbox"]{margin-right:var(--space-2);accent-color:var(--primary-600);width:var(--space-4);height:var(--space-4);cursor:pointer}.multi-select-option label{flex:1;cursor:pointer;color:var(--neutral-700);font-size:var(--text-sm);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.multi-select-option input[type="checkbox"]:checked+label{color:var(--primary-700);font-weight:var(--font-weight-medium)}.multi-select-option:disabled{color:var(--neutral-400);cursor:not-allowed;background-color:var(--neutral-50)}.multi-select-option:disabled input[type="checkbox"]{cursor:not-allowed}.multi-select-no-results{padding:var(--space-3);text-align:center;color:var(--neutral-500);font-size:var(--text-sm);font-style:italic}.custom-select-options::-webkit-scrollbar,.multi-select-options::-webkit-scrollbar{width:6px}.custom-select-options::-webkit-scrollbar-track,.multi-select-options::-webkit-scrollbar-track{background:var(--neutral-100)}.custom-select-options::-webkit-scrollbar-thumb,.multi-select-options::-webkit-scrollbar-thumb{background:var(--neutral-300);border-radius:var(--radius-sm)}.custom-select-options::-webkit-scrollbar-thumb:hover,.multi-select-options::-webkit-scrollbar-thumb:hover{background:var(--neutral-400)}.radio-group{display:flex;gap:var(--space-4);flex-wrap:wrap}.radio-item{display:flex;align-items:center;gap:var(--space-2);cursor:pointer;padding:var(--space-2) var(--space-3);border:1px solid var(--neutral-300);border-radius:var(--radius-base);transition:border-color var(--transition-base),background-color var(--transition-base)}.radio-item:hover{border-color:var(--primary-500);background:var(--neutral-50)}.radio-item:has(input[type="radio"]:checked){border-color:var(--primary-500);background:var(--primary-50)}.radio-label{font-size:var(--text-sm);color:var(--neutral-700);cursor:pointer;display:block;margin:0}.radio-item input[type="radio"]:checked+.radio-label{color:var(--primary-700);font-weight:var(--font-weight-semibold)}.checkbox-group{display:flex;flex-direction:column;gap:var(--space-2)}.checkbox-grid{display:grid;gap:var(--space-2)}.checkbox-item{display:flex;align-items:center;gap:var(--space-2);min-height:var(--control-height-base)}.checkbox-label{font-size:var(--text-sm);color:var(--neutral-700);cursor:pointer;margin:0;display:block;font-weight:var(--font-weight-medium)}.checkbox-item input[type="checkbox"]{width:18px;height:18px;cursor:pointer;accent-color:var(--primary-600)}.search-filter-wrapper{width:100%}.filters-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-4)}.filters-row{display:grid;grid-auto-flow:column;gap:var(--space-3)}.filter-form{display:flex;flex-direction:column;gap:var(--space-4)}.filter-group{display:flex;flex-direction:column;gap:var(--space-2)}.search-box{position:relative}.search-icon{position:absolute;left:var(--space-3);top:50%;transform:translateY(-50%);color:var(--neutral-300);z-index:10}.search-input{border:1px solid var(--neutral-300)!important;height:var(--control-height-base);padding:0 var(--space-2) 0 var(--space-10)!important;background-color:var(--white);border-radius:var(--radius-base);transition:border-color var(--transition-base);font-size:var(--text-sm)}.search-input:focus{border-color:var(--primary-600)!important;outline:none}.search-box--button{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.search-box--button .search-input{padding:var(--space-2)!important}.search-box--focus{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.search-btn{background:var(--white);border:1px solid var(--neutral-300);color:var(--neutral-600);padding:var(--space-2) var(--space-3)}.search-btn i{margin:0}.search-btn:hover{color:#3b82f6}.tabs{width:100%;background-color:var(--white);border-radius:var(--radius-base);border:1px solid var(--neutral-100)}.tabs-nav{display:flex;background-color:var(--white);border-bottom:1px solid var(--neutral-200);position:relative;border-radius:var(--radius-base) var(--radius-base) 0 0}.tabs-content{position:relative;min-height:var(--space-50);padding:var(--space-6)}.tab-pane{display:none;opacity:0;transition:opacity var(--transition-base)}.tab-pane.active{display:block;opacity:1}.tabs--horizontal{min-height:var(--space-100)}.tabs-nav--horizontal{flex-direction:row}.tabs--horizontal .tabs-content{padding-left:var(--space-6)}.tabs--vertical{display:flex;min-height:var(--space-100)}.tabs-nav--vertical{margin-right:var(--space-6);flex-direction:column;border-bottom:none;border-right:1px solid var(--neutral-200);min-width:var(--space-50);flex-shrink:0}.tabs--vertical .tabs-content{flex:1}.tab-item{padding:var(--space-3) var(--space-4);cursor:pointer;font-size:var(--text-base);font-weight:var(--font-weight-medium);color:var(--neutral-500);border:none;background:none;white-space:nowrap;position:relative;transition:all var(--transition-base);display:flex;align-items:center;gap:var(--space-2);width:100%}.tab-item:hover{color:var(--neutral-700);background-color:var(--neutral-50)}.tab-item.active{background-color:var(--primary-50);color:var(--primary-600);font-weight:var(--font-weight-semibold)}.tabs-nav--horizontal .tab-item.active::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background-color:var(--primary-600)}.tabs-nav--vertical .tab-item.active::after{content:'';position:absolute;top:0;left:0;bottom:0;width:2px;background-color:var(--primary-600)}.tab-item:disabled{color:var(--text-color-tertiary);cursor:not-allowed;opacity:0.6}.tab-item:disabled:hover{background-color:transparent}.tab-icon{font-size:var(--text-sm);opacity:0.8}.tab-item.active .tab-icon{opacity:1}.tab-count{align-self:end}.tab-badge{background-color:var(--neutral-200);color:var(--neutral-600);font-size:var(--text-xs);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-weight:var(--font-weight-medium)}.tab-item.active .tab-badge{background-color:var(--primary-100);color:var(--primary-700)}.tab-item-group{margin-bottom:var(--space-2)}.tab-item-group:last-child{margin-bottom:0}.nav-section-title{padding:var(--space-2) var(--space-4) var(--space-2) 0;font-size:var(--text-base);font-weight:var(--font-weight-semibold);color:var(--text-color-secondary);text-transform:uppercase;letter-spacing:0.05em;cursor:pointer;user-select:none;display:flex;align-items:center;justify-content:space-between;margin:0;transition:color var(--transition-base)}.nav-section-title:hover{color:var(--neutral-700)}.nav-section-title i{margin:0 var(--space-2) 0 0!important;color:var(--neutral-700)}.nav-section-title::after{content:'▼';font-size:var(--text-ty);color:var(--neutral-500);transition:transform var(--transition-base);margin-left:auto}.tab-item-group.collapsed .nav-section-title::after{transform:rotate(-90deg)}.tab-group-content{max-height:500px;overflow:hidden;opacity:1;transition:max-height var(--transition-duration-slow) var(--easing-decelerate),opacity var(--transition-duration-base) var(--easing-decelerate)}.tab-item-group.collapsed .tab-group-content{max-height:0!important;opacity:0;padding-top:0;padding-bottom:0;margin-top:0;margin-bottom:0}.tab-group-content .tab-item{margin-left:var(--space-4);padding-left:var(--space-3);width:100%}.tabs--card{border:none;box-shadow:none;background-color:var(--white)}.tabs--card .tabs-nav{background-color:var(--white);border:none;gap:var(--space-2)}.tabs--card .tab-item{background-color:var(--white);border:1px solid var(--neutral-200);border-radius:var(--radius-base);margin-bottom:var(--space-2)}.tabs--card .tab-item:hover{background-color:var(--neutral-50);border-color:var(--neutral-300)}.tabs--card .tab-item.active{background-color:var(--primary-50);border-color:var(--primary-200);color:var(--primary-700)}.tabs--card .tab-item.active::after{display:none}.tabs--card .tabs-content{background-color:var(--white);border:1px solid var(--neutral-200);border-radius:var(--radius-lg);padding:var(--space-3)}.tabs--underline{border:none;box-shadow:none;background-color:var(--white)}.tabs--underline .tabs-nav{background-color:transparent;border-bottom:1px solid var(--neutral-200)}.tabs--underline .tab-item{background-color:transparent;border-bottom:2px solid transparent}.tabs--underline .tab-item:hover{background-color:transparent;border-bottom-color:var(--neutral-300)}.tabs--underline .tab-item.active{background-color:transparent;border-bottom-color:var(--primary-600)}.tabs--underline .tab-item.active::after{display:none}.tabs--pills{border:none;box-shadow:none;background-color:var(--white);padding:var(--space-6)}.tabs--pills .tabs-nav{background-color:var(--neutral-100);border:none;border-radius:var(--radius-base);padding:var(--space-1);gap:var(--space-1)}.tabs--pills .tabs-content{padding:var(--space-6) 0}.tabs--pills .tab-item{background-color:transparent;border-radius:var(--radius-base);border:none}.tabs--pills .tab-item:hover{background-color:var(--white)}.tabs--pills .tab-item.active{background-color:var(--white);box-shadow:var(--shadow-sm)}.tabs--pills .tab-item.active::after{display:none}.tabs--compact .tab-item{padding:var(--space-2) var(--space-3);font-size:var(--text-sm)}.tabs--compact .tabs-content{min-height:var(--space-40)}.tabs--compact .tab-pane{padding:var(--space-4)}.tabs--large .tab-item{padding:var(--space-4) var(--space-6);font-size:var(--text-lg)}.tabs--large .tabs-content{min-height:var(--space-80)}.tabs--large .tab-pane{padding:var(--space-8)}.tabs--success .tab-item.active{color:var(--success-600)}.tabs--success .tab-item.active::after{background-color:var(--success-600)}.tabs--warning .tab-item.active{color:var(--warning-600)}.tabs--warning .tab-item.active::after{background-color:var(--warning-600)}.tabs--danger .tab-item.active{color:var(--danger-600)}.tabs--danger .tab-item.active::after{background-color:var(--danger-600)}.tabs--info .tab-item.active{color:var(--info-600)}.tabs--info .tab-item.active::after{background-color:var(--info-600)}.tabs-nav--horizontal{overflow:hidden;position:relative}.tabs-nav-wrapper{display:flex;overflow-x:auto;overflow-y:hidden;scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none;gap:var(--space-1)}.tabs-nav-wrapper i{padding:0!important}.tabs-nav-wrapper::-webkit-scrollbar{display:none}.tabs-nav-scroll-controls{display:flex;align-items:center;gap:var(--space-1);position:absolute;right:0;top:0;bottom:0;z-index:10;padding:var(--space-1)}.tabs-nav-scroll-controls.visible{pointer-events:auto}.tabs-nav-scroll-btn{width:26px;height:100%;display:flex;align-items:center;justify-content:center;border:none;color:var(--neutral-600);border-radius:var(--radius-base);font-size:var(--text-sm);background:var(--white-alpha-10)}.tabs-nav-scroll-btn:hover:not(:disabled){background-color:var(--neutral-50);color:var(--neutral-900);box-shadow:var(--shadow-md)}.tabs-nav-scroll-btn:active:not(:disabled){transform:scale(0.95)}.tabs-nav-scroll-btn:disabled{opacity:0.4;cursor:not-allowed}.tabs-nav-scroll-btn i{padding:0!important}.tabs-nav--vertical{position:relative;max-height:100%;overflow-y:auto;overflow-x:hidden;scrollbar-width:none;-ms-overflow-style:none}.tabs-nav--vertical::-webkit-scrollbar{display:none}.tabs-nav-scrollbar-container{position:absolute;right:0;top:0;bottom:0;width:var(--space-2);background-color:var(--neutral-100);border-radius:var(--radius-sm);opacity:0;transition:opacity var(--transition-base);pointer-events:none;z-index:10}.tabs-nav-scrollbar-container.visible{opacity:1;pointer-events:auto}.tabs-nav-scrollbar-thumb{position:absolute;right:0;width:100%;background-color:var(--neutral-400);border-radius:var(--radius-sm);cursor:grab;transition:background-color var(--transition-base);min-height:var(--space-8)}.tabs-nav-scrollbar-thumb:hover{background-color:var(--neutral-500)}.tabs-nav-scrollbar-thumb:active{cursor:grabbing;background-color:var(--neutral-600)}.tabs--vertical .tab-item-group{position:relative}.tabs--vertical .tab-group-content{max-height:none;overflow:visible}.container-with-dropdown{overflow:visible}.stepper{display:flex;align-items:center;justify-content:space-between;position:relative}.stepper.vertical{flex-direction:column;align-items:flex-start}.stepper-item{display:flex;align-items:center;position:relative;flex:1}.stepper.vertical .stepper-item{flex-direction:column;align-items:flex-start;width:100%;margin-bottom:var(--space-4)}.stepper-item:last-child{flex:none}.stepper-item:last-child::after{display:none}.stepper-item::after{content:'';position:absolute;top:50%;left:100%;width:100%;height:2px;background-color:var(--neutral-200);transform:translateY(-50%);z-index:1}.stepper.vertical .stepper-item::after{top:100%;left:50%;width:2px;height:var(--space-4);transform:translateX(-50%)}.stepper-item.completed::after{background-color:var(--success-500)}.stepper-item.active::after{background-color:var(--primary-500)}.stepper-circle{width:var(--space-8);height:var(--space-8);border-radius:var(--radius-full);background-color:var(--neutral-200);color:var(--neutral-500);display:flex;align-items:center;justify-content:center;font-size:var(--text-sm);font-weight:var(--font-weight-medium);position:relative;z-index:2;transition:var(--transition-colors)}.stepper-item.completed .stepper-circle{background-color:var(--success-500);color:var(--white)}.stepper-item.active .stepper-circle{background-color:var(--primary-500);color:var(--white)}.stepper-item.error .stepper-circle{background-color:var(--error-500);color:var(--white)}.stepper-icon{font-size:var(--text-base)}.stepper-content{margin-left:var(--space-3);flex:1}.stepper.vertical .stepper-content{margin-left:0;margin-top:var(--space-2)}.stepper-title{font-size:var(--text-sm);font-weight:var(--font-weight-medium);color:var(--neutral-700);margin-bottom:var(--space-1)}.stepper-item.completed .stepper-title,.stepper-item.active .stepper-title{color:var(--neutral-800)}.stepper-description{font-size:var(--text-xs);color:var(--neutral-500);line-height:1.4}.stepper-item.completed .stepper-description{color:var(--success-600)}.stepper-item.active .stepper-description{color:var(--primary-600)}.stepper-item.error .stepper-description{color:var(--error-600)}.stepper-sm .stepper-circle{width:var(--space-6);height:var(--space-6);font-size:var(--text-xs)}.stepper-lg .stepper-circle{width:var(--space-10);height:var(--space-10);font-size:var(--text-base)}.timeline{position:relative;padding-left:var(--space-6)}.timeline::before{content:'';position:absolute;left:10px;top:0;bottom:0;width:2px;background-color:var(--neutral-200)}.timeline-item{position:relative;padding-left:var(--space-4);padding-bottom:var(--space-4)}.timeline-item:last-child{margin-bottom:0}.timeline-item::before{content:'';position:absolute;left:-25px;top:0;width:var(--space-4);height:var(--space-4);border-radius:var(--radius-full);background-color:var(--neutral-200);border:3px solid var(--white);box-shadow:0 0 0 2px var(--neutral-200)}.timeline-item.completed::before{background-color:var(--success-500);box-shadow:0 0 0 2px var(--success-500)}.timeline-item.active::before{background-color:var(--primary-500);box-shadow:0 0 0 2px var(--primary-500)}.timeline-item.error::before{background-color:var(--error-500);box-shadow:0 0 0 2px var(--error-500)}.timeline-content{background-color:var(--white);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-4) var(--space-4) var(--space-4);box-shadow:var(--shadow-sm);border:1px solid var(--neutral-200)}.timeline-item.completed .timeline-content{border-color:var(--success-200);background-color:var(--success-50)}.timeline-item.active .timeline-content{border-color:var(--primary-200);background-color:var(--primary-50)}.timeline-item.error .timeline-content{border-color:var(--error-200);background-color:var(--error-50)}.timeline-header{display:flex;align-items:center;margin-bottom:var(--space-2)}.timeline-icon{width:var(--space-6);height:var(--space-6);border-radius:var(--radius-full);background-color:var(--neutral-100);color:var(--neutral-600);display:flex;align-items:center;justify-content:center;margin-right:var(--space-2);font-size:var(--text-sm)}.timeline-item.completed .timeline-icon{background-color:var(--success-100);color:var(--success-600)}.timeline-item.active .timeline-icon{background-color:var(--primary-100);color:var(--primary-600)}.timeline-item.error .timeline-icon{background-color:var(--error-100);color:var(--error-600)}.timeline-title{font-size:var(--text-base);font-weight:var(--font-weight-medium);color:var(--neutral-800);margin:0}.timeline-time{font-size:var(--text-xs);color:var(--neutral-500)}.timeline-description{font-size:var(--text-sm);color:var(--neutral-600);line-height:1.5;margin:0}.timeline.alternate{padding-left:0}.timeline.alternate::before{left:50%;transform:translateX(-50%)}.timeline.alternate .timeline-item{padding-left:0;width:50%}.timeline.alternate .timeline-item:nth-child(odd){margin-left:0;padding-right:var(--space-6)}.timeline.alternate .timeline-item:nth-child(even){margin-left:50%;padding-left:var(--space-6)}.timeline.alternate .timeline-item:nth-child(odd)::before{right:-8px;left:auto}.timeline.alternate .timeline-item:nth-child(even)::before{left:-8px}.timeline.horizontal{display:flex;align-items:flex-start;padding-left:0;padding-top:var(--space-6)}.timeline.horizontal::before{left:0;right:0;top:var(--space-4);bottom:auto;width:auto;height:2px}.timeline.horizontal .timeline-item{flex:1;margin-bottom:0;margin-right:var(--space-4);padding-left:0;padding-top:var(--space-4)}.timeline.horizontal .timeline-item:last-child{margin-right:0}.timeline.horizontal .timeline-item::before{top:-8px;left:50%;transform:translateX(-50%)}.tooltip{position:relative;display:inline-block}.tooltip:hover{transform:scale(1.05)}.tooltip-content{position:fixed;background-color:var(--neutral-800);color:var(--white);padding:var(--space-2) var(--space-3);border-radius:var(--radius-base);z-index:var(--z-index-tooltip,9999);font-size:var(--text-xs);line-height:1.4;white-space:nowrap;opacity:0;visibility:hidden;transform:translateY(4px);transition:opacity var(--transition-base),transform var(--transition-base),visibility 0s var(--transition-duration-base);z-index:var(--z-index-tooltip);pointer-events:none;max-width:var(--space-50);white-space:normal;word-wrap:break-word}.tooltip-content::before{content:'';position:absolute;width:0;height:0;border:4px solid transparent}.tooltip:hover .tooltip-content{opacity:1;visibility:visible;transform:translateY(0);transition:opacity var(--transition-base),transform var(--transition-base)}.tooltip-top .tooltip-content{bottom:100%;left:50%;transform:translateX(-50%) translateY(-4px);margin-bottom:var(--space-2)}.tooltip-top .tooltip-content::before{top:100%;left:50%;transform:translateX(-50%);border-top-color:var(--neutral-800)}.tooltip-top:hover .tooltip-content{transform:translateX(-50%) translateY(0)}.tooltip-bottom .tooltip-content{top:100%;left:50%;transform:translateX(-50%) translateY(4px);margin-top:var(--space-2)}.tooltip-bottom .tooltip-content::before{bottom:100%;left:50%;transform:translateX(-50%);border-bottom-color:var(--neutral-800)}.tooltip-bottom:hover .tooltip-content{transform:translateX(-50%) translateY(0)}.tooltip-left .tooltip-content{right:100%;top:50%;transform:translateY(-50%) translateX(-4px);margin-right:var(--space-2)}.tooltip-left .tooltip-content::before{left:100%;top:50%;transform:translateY(-50%);border-left-color:var(--neutral-800)}.tooltip-left:hover .tooltip-content{transform:translateY(-50%) translateX(0)}.tooltip-right .tooltip-content{left:100%;top:50%;transform:translateY(-50%) translateX(4px);margin-left:var(--space-2)}.tooltip-right .tooltip-content::before{right:100%;top:50%;transform:translateY(-50%);border-right-color:var(--neutral-800)}.tooltip-right:hover .tooltip-content{transform:translateY(-50%) translateX(0)}.tooltip-light .tooltip-content{background-color:var(--white);color:var(--neutral-800);border:1px solid var(--neutral-200);box-shadow:var(--shadow-md)}.tooltip-light.tooltip-top .tooltip-content::before{border-top-color:var(--neutral-200)}.tooltip-light.tooltip-bottom .tooltip-content::before{border-bottom-color:var(--neutral-200)}.tooltip-light.tooltip-left .tooltip-content::before{border-left-color:var(--neutral-200)}.tooltip-light.tooltip-right .tooltip-content::before{border-right-color:var(--neutral-200)}.drawer-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,0.5);backdrop-filter:blur(2px);z-index:var(--z-index-drawer);opacity:0;visibility:hidden;transition:opacity var(--transition-base),visibility 0s var(--transition-duration-slow)}.drawer-overlay.show{opacity:1;visibility:visible;transition:opacity var(--transition-base)}.drawer{position:fixed;background-color:var(--white);box-shadow:var(--shadow-xl);z-index:var(--z-index-drawer);transition:transform var(--transition-base)}.drawer-left{top:0;left:0;bottom:0;width:var(--space-80);transform:translateX(-100%)}.drawer-left.show{transform:translateX(0)}.drawer-right{top:0;right:0;bottom:0;width:var(--space-80);transform:translateX(100%)}.drawer-right.show{transform:translateX(0)}.drawer-top{top:0;left:0;right:0;height:var(--space-80);transform:translateY(-100%)}.drawer-top.show{transform:translateY(0)}.drawer-bottom{bottom:0;left:0;right:0;height:var(--space-80);transform:translateY(100%)}.drawer-bottom.show{transform:translateY(0)}.drawer-header{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--neutral-200);display:flex;align-items:center;justify-content:space-between}.drawer-title{font-size:var(--text-lg);font-weight:var(--font-weight-medium);color:var(--neutral-800);margin:0}.drawer-close{background:none;border:none;color:var(--neutral-500);font-size:var(--text-lg);cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;transition:background-color var(--transition-base),transform var(--transition-base)}.drawer-close:hover{background-color:var(--neutral-200);color:var(--neutral-700);transform:translateY(-4px);box-shadow:var(--shadow-sm)}.drawer-body{padding:var(--space-5);flex:1;overflow-y:auto}.drawer-footer{padding:var(--space-4) var(--space-5);border-top:1px solid var(--neutral-200);display:flex;justify-content:flex-end;gap:var(--space-2)}.drawer-sm{width:var(--space-70)}.drawer-lg{width:var(--space-100)}.drawer-xl{width:480px}.drawer-top.drawer-sm,.drawer-bottom.drawer-sm{height:250px}.drawer-top.drawer-lg,.drawer-bottom.drawer-lg{height:var(--space-100)}.drawer-top.drawer-xl,.drawer-bottom.drawer-xl{height:500px}.rating{display:flex;align-items:center;gap:var(--space-1)}.rating-item{background:none;border:none;padding:0;cursor:pointer;color:var(--neutral-300);font-size:var(--text-lg);transition:var(--transition-colors);position:relative}.rating-item:hover,.rating-item.hover{color:var(--warning-400)}.rating-item.active{color:var(--warning-500)}.rating-item.half{position:relative}.rating-item.half::before{content:'';position:absolute;left:0;top:0;width:50%;height:100%;overflow:hidden;color:var(--warning-500)}.rating-item.half::after{content:'★';color:var(--warning-500)}.rating-readonly .rating-item{cursor:default}.rating-readonly .rating-item:hover{color:inherit}.rating-sm .rating-item{font-size:var(--text-sm)}.rating-lg .rating-item{font-size:var(--text-xl)}.rating-xl .rating-item{font-size:var(--text-2xl)}.rating-text{margin-left:var(--space-2);font-size:var(--text-sm);color:var(--neutral-600)}.slider{position:relative;width:100%;height:var(--space-5);display:flex;align-items:center}.slider-track{position:relative;width:100%;height:var(--space-5);background-color:var(--neutral-200);border-radius:var(--radius-full);cursor:pointer}.slider-track-fill{position:absolute;top:0;left:0;height:100%;background-color:var(--primary-500);border-radius:var(--radius-full);transition:width var(--transition-base)}.slider-thumb{position:absolute;top:50%;transform:translate(-50%,-50%);width:var(--space-4);height:var(--space-4);background-color:var(--white);border:2px solid var(--primary-500);border-radius:var(--radius-full);cursor:pointer;transition:var(--transition-base);box-shadow:var(--shadow-sm)}.slider-thumb:hover{transform:translate(-50%,-50%) scale(1.1);box-shadow:var(--shadow-md)}.slider-thumb:active{transform:translate(-50%,-50%) scale(1.05)}.slider-thumb:focus{outline:none;box-shadow:var(--shadow-focus-ring)}.slider-disabled{opacity:0.6;cursor:not-allowed}.slider-disabled .slider-track{cursor:not-allowed}.slider-disabled .slider-thumb{cursor:not-allowed}.slider-disabled .slider-thumb:hover{transform:translate(-50%,-50%)}.slider-range{position:relative}.slider-range .slider-track-fill{background-color:var(--primary-300)}.slider-range .slider-thumb{border-color:var(--primary-500)}.slider-range .slider-thumb-range{position:absolute;top:0;left:0;height:100%;background-color:var(--primary-500);border-radius:var(--radius-full)}.slider-marks{position:relative;margin-top:var(--space-2)}.slider-mark{position:absolute;top:0;transform:translateX(-50%);font-size:var(--text-xs);color:var(--neutral-500)}.slider-mark-tick{position:absolute;top:-8px;left:50%;transform:translateX(-50%);width:2px;height:6px;background-color:var(--neutral-300)}.slider-mark.active .slider-mark-tick{background-color:var(--primary-500)}.slider-mark.active{color:var(--primary-600);font-weight:var(--font-weight-medium)}.steps{display:flex;gap:0;width:100%}.steps-vertical{flex-direction:column}.step{flex:1;position:relative;display:flex;align-items:flex-start;gap:var(--space-3)}.step-icon{flex-shrink:0;width:var(--space-8);height:var(--space-8);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-size:var(--text-sm);font-weight:var(--font-weight-semibold);background-color:var(--neutral-200);color:var(--neutral-500);transition:background-color var(--transition-base),transform var(--transition-base),color var(--transition-base);z-index:1;position:relative}.step-icon i{color:var(--white)}.step-error i{color:var(--error-600)}.step-content{flex:1;padding-bottom:var(--space-4)}.step-title{font-size:var(--text-sm);font-weight:var(--font-weight-semibold);color:var(--neutral-700);margin-bottom:var(--space-2)}.step-description{font-size:var(--text-xs);color:var(--text-color-secondary);line-height:1.5}.step::after{content:'';position:absolute;top:var(--space-8);left:var(--space-4);width:2px;height:calc(100% - 32px);background-color:var(--neutral-200)}.steps:not(.steps-vertical) .step::after{top:26px;left:var(--space-8);width:calc(100% - 32px);height:2px}.step:last-child::after{display:none}.step.step-completed .step-icon{background-color:var(--primary-600);color:var(--white)}.step.step-completed::after{background-color:var(--primary-600)}.step.step-active .step-icon{background-color:var(--primary-100);color:var(--primary-600);border:2px solid var(--primary-600)}.step.step-error .step-icon{background-color:var(--error-100);color:var(--error-600);border:2px solid var(--error-600)}.step.step-clickable{cursor:pointer}.step.step-clickable:hover .step-icon{transform:scale(1.1)}.steps-simple .step-icon{width:var(--space-6);height:var(--space-6);font-size:var(--text-xs)}.steps-simple .step-title{font-size:var(--text-xs)}.steps-simple .step-description{display:none}.collapse-group{overflow:hidden}.collapse-item{margin-bottom:var(--space-2)}.collapse-item:last-child{border-bottom:none}.collapse-header{width:100%;display:flex;align-items:center;justify-content:space-between;padding:var(--space-4);background-color:var(--white);cursor:pointer;transition:var(--transition-colors);user-select:none;border:1px solid var(--neutral-200);border-radius:var(--radius-base)}.collapse-header:hover{background-color:var(--neutral-50)}.collapse-header.active{background-color:var(--primary-50)}.collapse-title{font-weight:var(--font-weight-semibold);color:var(--neutral-700);font-size:var(--text-base)}.collapse-icon{flex-shrink:0;width:var(--space-5);height:var(--space-5);color:var(--neutral-500);transition:transform var(--transition-base)}.collapse-header.active .collapse-icon{transform:rotate(180deg);color:var(--primary-600)}.collapse-content{width:100%;max-height:0;overflow:hidden;transition:max-height var(--transition-base)}.collapse-content.active{max-height:2000px}.collapse-body{padding:var(--space-4);background-color:var(--neutral-50);color:var(--text-color-secondary);line-height:1.6}.collapse-group.collapse-borderless{border:none;background:none}.collapse-group.collapse-borderless .collapse-item{border:none;background:none;border-bottom:1px solid var(--neutral-100)}.collapse-group.collapse-borderless .collapse-header{border:none;background:none;padding-left:0;padding-right:0}.affix{transition:box-shadow var(--transition-base)}.affix.affixed{position:fixed;z-index:var(--z-index-fixed);box-shadow:var(--shadow-lg);animation:slideInDown 0.3s ease-out}.affix-placeholder{display:none}.affix.affixed+.affix-placeholder{display:block}.anchor{position:sticky;top:var(--space-6)}.anchor-wrapper{background-color:var(--white);border-left:2px solid var(--neutral-200);border-radius:var(--radius-base)}.anchor-link{display:block;padding:var(--space-2) var(--space-4);color:var(--text-color-secondary);text-decoration:none;font-size:var(--text-sm);transition:color var(--transition-base),padding-left var(--transition-base);border-left:2px solid transparent;margin-left:-2px}.anchor-link:hover{color:var(--primary-600);padding-left:var(--space-5)}.anchor-link.active{color:var(--primary-600);border-left-color:var(--primary-600);background-color:var(--primary-50);font-weight:var(--font-weight-semibold);padding-left:var(--space-5)}.anchor-link-child{padding-left:var(--space-6);font-size:var(--text-xs)}.anchor-link-child:hover,.anchor-link-child.active{padding-left:calc(var(--space-6) + var(--space-1))}.tree{background-color:var(--white);border-radius:var(--radius-lg)}.tree-bordered{border:1px solid var(--neutral-200);padding:var(--space-4)}.tree-node{padding:var(--space-2);display:block}.tree-node-content{display:flex;align-items:center;padding:var(--space-2);border-radius:var(--radius-base);cursor:pointer;transition:background-color var(--transition-base),color var(--transition-base);user-select:none}.tree-node-content:hover{background-color:var(--neutral-100)}.tree-node-content.active{background-color:var(--primary-50);color:var(--primary-600)}.tree-switcher{flex-shrink:0;width:var(--space-5);height:var(--space-5);display:flex;align-items:center;justify-content:center;margin-right:var(--space-2);color:var(--neutral-500);transition:transform var(--transition-base),color var(--transition-base);cursor:pointer}.tree-switcher:hover{color:var(--primary-500)}.tree-switcher.expanded{transform:rotate(90deg)}.tree-switcher.leaf{visibility:hidden}.tree-switcher.leaf:hover{color:var(--neutral-500)}.tree-checkbox{flex-shrink:0;width:var(--space-4);height:var(--space-4);margin-right:var(--space-2);cursor:pointer}.tree-icon{flex-shrink:0;width:18px;height:18px;margin-right:var(--space-2);display:flex;align-items:center;justify-content:center;color:var(--neutral-600)}.tree-title{flex:1;font-size:var(--text-sm);color:var(--neutral-700)}.tree-node-content.active .tree-title{color:var(--primary-600);font-weight:var(--font-weight-semibold)}.tree-children{max-height:0;overflow:hidden;padding-left:var(--space-4);transition:max-height var(--transition-base),opacity var(--transition-base);opacity:0}.tree-children.expanded{max-height:10000px;opacity:1}.tree-show-line .tree-children{position:relative;border-left:1px dashed var(--neutral-300);margin-left:10px}.tree-show-line .tree-node-content::before{content:'';position:absolute;left:-25px;top:50%;width:15px;height:1px;background-color:var(--neutral-300)}.tree-node-loading .tree-switcher{animation:spin 1s linear infinite}.tree-node-disabled .tree-node-content{opacity:0.5;cursor:not-allowed}.tree-node-disabled .tree-node-content:hover{background-color:transparent}.tree-node-dragging{opacity:0.5}.tree-node-drop-indicator{height:2px;background-color:var(--primary-600);position:absolute;left:0;right:0;pointer-events:none}.tree-node-content:hover{background-color:var(--primary-50);transform:translateX(2px)}.tree-node-content:focus{outline:2px solid var(--primary-500);outline-offset:2px;border-radius:var(--radius-sm)}.popover{position:relative;display:inline-block}.popover-content{position:absolute;background-color:var(--white);border:1px solid var(--neutral-200);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:0;opacity:0;visibility:hidden;transform:translateY(4px);transition:opacity var(--transition-base),transform var(--transition-base),visibility 0s var(--transition-duration-base);z-index:var(--z-index-popover);pointer-events:none;min-width:var(--space-50);max-width:var(--space-80)}.popover.show .popover-content{opacity:1;visibility:visible;transform:translateY(0);transition:opacity var(--transition-base),transform var(--transition-base);pointer-events:auto}.popover-content::before{content:'';position:absolute;width:0;height:0;border:8px solid transparent}.popover-header{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--neutral-200);font-size:var(--text-sm);font-weight:var(--font-weight-medium);color:var(--neutral-800)}.popover-body{padding:var(--space-3) var(--space-4);font-size:var(--text-sm);color:var(--neutral-600);line-height:1.5}.popover-footer{padding:var(--space-3) var(--space-4);border-top:1px solid var(--neutral-200);display:flex;justify-content:flex-end;gap:var(--space-2)}.popover-top .popover-content{bottom:100%;left:50%;transform:translateX(-50%) translateY(-4px);margin-bottom:var(--space-2)}.popover-top .popover-content::before{top:100%;left:50%;transform:translateX(-50%);border-top-color:var(--neutral-200)}.popover-top.show .popover-content{transform:translateX(-50%) translateY(0)}.popover-bottom .popover-content{top:100%;left:50%;transform:translateX(-50%) translateY(4px);margin-top:var(--space-2)}.popover-bottom .popover-content::before{bottom:100%;left:50%;transform:translateX(-50%);border-bottom-color:var(--neutral-200)}.popover-bottom.show .popover-content{transform:translateX(-50%) translateY(0)}.popover-left .popover-content{right:100%;top:50%;transform:translateY(-50%) translateX(-4px);margin-right:var(--space-2)}.popover-left .popover-content::before{left:100%;top:50%;transform:translateY(-50%);border-left-color:var(--neutral-200)}.popover-left.show .popover-content{transform:translateY(-50%) translateX(0)}.popover-right .popover-content{left:100%;top:50%;transform:translateY(-50%) translateX(4px);margin-left:var(--space-2)}.popover-right .popover-content::before{right:100%;top:50%;transform:translateY(-50%);border-right-color:var(--neutral-200)}.popover-right.show .popover-content{transform:translateY(-50%) translateX(0)}.carousel{position:relative;width:100%;height:var(--space-100);overflow:hidden;border-radius:var(--radius-lg)}.carousel-inner{position:relative;width:100%;height:100%}.carousel-item{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;visibility:hidden;transition:opacity var(--transition-duration-3xl) var(--transition-timing-ease-in-out),visibility var(--transition-duration-3xl) var(--transition-timing-ease-in-out)}.carousel-item.active{opacity:1;visibility:visible}.carousel-item img{width:100%;object-fit:cover;display:block}.carousel-caption{position:absolute;bottom:0;left:0;right:0;padding:var(--space-6);background:linear-gradient(to top,rgba(0,0,0,0.7),transparent);color:var(--white)}.carousel-caption h3{color:var(--white);font-size:var(--text-xl);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-2)}.carousel-caption p{color:var(--white);font-size:var(--text-sm);opacity:0.9}.carousel-control{position:absolute;top:50%;transform:translateY(-50%);width:var(--space-10);height:var(--space-10);display:flex;align-items:center;justify-content:center;background-color:rgba(255,255,255,0.9);border:none;border-radius:var(--radius-full);color:var(--neutral-700);cursor:pointer;transition:background-color var(--transition-base),transform var(--transition-base);z-index:2;box-shadow:var(--shadow-base)}.carousel-control:hover{background-color:rgba(0,0,0,0.7);transform:translateY(-50%) scale(1.1)}.carousel-control-prev{left:var(--space-4)}.carousel-control-next{right:var(--space-4)}.carousel-indicators{position:absolute;bottom:var(--space-4);left:75%;transform:translateX(-50%);display:flex;gap:var(--space-2);z-index:2}.carousel-indicator{width:var(--space-2);height:var(--space-2);border-radius:var(--radius-full);background-color:rgba(255,255,255,0.5);border:none;cursor:pointer;transition:background-color var(--transition-base),width var(--transition-base)}.carousel-indicator.active{width:var(--space-6);background-color:var(--white)}.carousel-thumbnails{display:flex;gap:var(--space-2);margin-top:var(--space-4);overflow-x:auto;padding:var(--space-2) 0}.carousel-thumbnail{flex:0 0 80px;height:var(--space-15);border-radius:var(--radius-base);overflow:hidden;border:2px solid transparent;cursor:pointer;transition:opacity var(--transition-base),border-color var(--transition-base);opacity:0.6}.carousel-thumbnail:hover{opacity:0.8}.carousel-thumbnail.active{border-color:var(--primary-600);opacity:1}.carousel-thumbnail img{width:100%;height:100%;object-fit:cover}.carousel.paused .carousel-control{opacity:0.7}.carousel.paused .carousel-indicators{opacity:0.7}.carousel.loading .carousel-inner{opacity:0.5}.carousel.loading::after{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:var(--space-10);height:var(--space-10);border:3px solid var(--neutral-200);border-top:3px solid var(--primary-600);border-radius:var(--radius-full);animation:spin 1s linear infinite;z-index:10}.carousel.error .carousel-inner{opacity:0.3}.carousel.error::after{content:'图片加载失败';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:var(--error-600);font-size:var(--text-sm);z-index:10}.carousel.carousel-split .carousel-inner{height:100%;min-height:var(--space-80);padding:var(--space-4);box-sizing:border-box}.carousel.carousel-split .carousel-item{display:none;grid-template-columns:1fr 1fr;gap:var(--space-4)}.carousel.carousel-split.carousel-split-left .carousel-item{grid-template-columns:1fr 1fr}.carousel.carousel-split.carousel-split-right .carousel-item{grid-template-columns:1fr 1fr}.carousel.carousel-split .carousel-item.active{display:grid}.carousel-pane{border-radius:var(--radius-lg);overflow:hidden;background-color:var(--white);box-shadow:var(--shadow-sm)}.carousel-pane-media img{width:100%;border-radius:var(--radius-lg);object-fit:cover;display:block}.carousel-pane-content{padding:var(--space-1);display:flex;flex-direction:column;gap:var(--space-2);color:var(--neutral-800)}.carousel-pane-content h3{font-size:var(--text-xl);font-weight:var(--font-weight-semibold);margin:0 0 var(--space-2) 0}.carousel-pane-content p{font-size:var(--text-sm);color:var(--neutral-600);line-height:1.6;margin:0}.carousel-split-left .carousel-pane-content{order:1}.carousel-split-left .carousel-pane-media{order:2;width:100%;aspect-ratio:16 / 9;border-radius:var(--radius-lg);object-fit:cover}.carousel-split-right .carousel-pane-media{order:1}.carousel-split-right .carousel-pane-content{order:2}.carousel.carousel-split .carousel-control{z-index:2}.carousel.carousel-split .carousel-indicators{z-index:2}.carousel.carousel-split .carousel-control{display:none}.carousel-toc{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-3)}.carousel-toc-item{border-radius:var(--radius-base);padding:var(--space-3) var(--space-4);cursor:pointer;transition:background-color var(--transition-base),color var(--transition-base);color:var(--neutral-700);background-color:var(--neutral-50);border:1px solid var(--neutral-200)}.carousel-toc-item:hover{background-color:var(--primary-50);color:var(--primary-700)}.carousel-toc-item.active{background-color:var(--primary-100);border-color:var(--primary-300);color:var(--primary-800)}.carousel-toc-title{font-weight:var(--neutral-600);font-size:var(--text-base);margin:0 0 var(--space-1) 0}.carousel-toc-item.active .carousel-toc-title{font-weight:var(--font-weight-semibold)}.carousel-toc-desc{display:none;font-size:var(--text-sm);color:var(--neutral-600);line-height:1.6}.carousel-toc-item.active .carousel-toc-desc{display:block}.cascader{position:relative;display:inline-block}.cascader-input{width:100%;min-width:var(--space-50);padding:var(--space-2) var(--space-3);border:1px solid var(--neutral-300);border-radius:var(--radius-base);cursor:pointer;transition:border-color var(--transition-base);background-color:var(--white);display:flex;align-items:center;justify-content:space-between}.cascader-input:hover{border-color:var(--primary-400)}.cascader-input.active{border-color:var(--primary-600);box-shadow:var(--shadow-focus-ring)}.cascader-dropdown{position:absolute;top:var(--cascader-dropdown-top,calc(100% + 4px));left:var(--cascader-dropdown-left,0);display:none;background-color:var(--white);border:1px solid var(--neutral-200);border-radius:var(--radius-base);box-shadow:var(--shadow-lg);z-index:1050;min-width:var(--cascader-dropdown-min-width,300px);opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity var(--transition-base),visibility var(--transition-base),transform var(--transition-base)}.cascader.active .cascader-dropdown,.cascader-dropdown.show{display:flex!important;flex-direction:row;align-items:flex-start;opacity:1;visibility:visible;transform:translateY(0)}.cascader-dropdown.dropdown-fixed{position:fixed!important;top:var(--dropdown-top,auto)!important;left:var(--dropdown-left,auto)!important;right:auto;z-index:var(--dropdown-z-index,1050)!important;min-width:var(--dropdown-min-width,300px)!important}.cascader-menu{display:block;flex-shrink:0;min-width:120px;max-height:var(--space-50);overflow-y:auto;border-right:1px solid var(--neutral-200);position:relative}.cascader-menu.hidden{display:none}.cascader-menu:last-child{border-right:none}.cascader-menu:not(:last-child)::after{content:'';position:absolute;right:0;top:0;bottom:0;width:1px;background:var(--neutral-200);z-index:1}.cascader-option{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-3);cursor:pointer;transition:background-color var(--transition-base);font-size:var(--text-sm)}.cascader-option:hover{background-color:var(--neutral-100)}.cascader-option.active{background-color:var(--primary-50);color:var(--primary-600)}.cascader-option.selected{background-color:var(--primary-100);color:var(--primary-700);font-weight:var(--font-weight-semibold)}.cascader-input:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}.cascader-input:active{transform:translateY(0)}.result{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-8);text-align:center;min-height:var(--space-100)}.result-icon{width:var(--space-20);height:var(--space-20);display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);font-size:var(--space-10);margin-bottom:var(--space-5)}.result-success .result-icon{background-color:var(--primary-100);color:var(--primary-600)}.result-error .result-icon{background-color:var(--bg-color-error-light);color:var(--error-600)}.result-warning .result-icon{background-color:var(--bg-color-warning-light);color:var(--warning-600)}.result-info .result-icon{background-color:var(--bg-color-info-light);color:var(--info-600)}.result-404 .result-icon,.result-403 .result-icon,.result-500 .result-icon{background-color:var(--neutral-100);color:var(--neutral-500);font-size:var(--space-12);font-weight:var(--font-weight-bold)}.result-title{font-size:var(--text-2xl);font-weight:var(--font-weight-semibold);color:var(--neutral-700);margin-bottom:var(--space-3)}.result-description{font-size:var(--text-base);color:var(--text-color-secondary);line-height:1.6;max-width:500px;margin-bottom:var(--space-6)}.result-actions{display:flex;gap:var(--space-3);align-items:center;justify-content:center;flex-wrap:wrap}.result-extra{margin-top:var(--space-6);padding:var(--space-4);background-color:var(--neutral-50);border-radius:var(--radius-base);max-width:var(--space-150);width:100%}.spin-container{position:relative}.spin-container.loading::after{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background-color:rgba(255,255,255,0.8);z-index:var(--z-index-loading);display:flex;align-items:center;justify-content:center}.spin{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2)}.spin-icon{width:var(--space-5);height:var(--space-5);border:2px solid var(--primary-200);border-top-color:var(--primary-600);border-radius:var(--radius-full);animation:spin 1s linear infinite}.spin-sm .spin-icon{width:var(--space-4);height:var(--space-4)}.spin-lg .spin-icon{width:var(--space-8);height:var(--space-8);border-width:var(--space-5)}.spin-xl .spin-icon{width:var(--space-12);height:var(--space-12);border-width:var(--space-5)}.spin-text{font-size:var(--text-sm);color:var(--text-color-secondary)}.spin-center{display:flex;align-items:center;justify-content:center;padding:var(--space-6)}.spin-fullscreen{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(255,255,255,0.9);z-index:var(--z-index-loading);display:flex;align-items:center;justify-content:center}.spin-dots{display:inline-flex;gap:var(--space-1)}.spin-dot{width:var(--space-2);height:var(--space-2);border-radius:var(--radius-full);background-color:var(--primary-600);animation:pulse 2s infinite}.spin-dot:nth-child(2){animation-delay:0.2s}.spin-dot:nth-child(3){animation-delay:0.4s}.spin-bars{display:inline-flex;gap:var(--space-5);align-items:flex-end;height:var(--space-6)}.spin-bar{width:var(--space-5);background-color:var(--primary-600);border-radius:var(--radius-xs);animation:bounce 1s infinite ease-in-out}.spin-bar:nth-child(1){animation-delay:-0.32s}.spin-bar:nth-child(2){animation-delay:-0.16s}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-4)}.info-row{display:flex;flex-direction:row;gap:var(--space-4);align-items:center;justify-content:space-between}.info-item{padding:var(--space-2) 0;flex:1}.info-lable{font-size:var(--text-sm);font-weight:var(--font-weight-medium);color:var(--text-color-secondary)}.info-value{font-size:var(--text-sm);color:var(--text-color-primary)}.opacity-60{opacity:0.6;transition:opacity var(--transition-base)}.loading-container{opacity:0.6;transition:opacity var(--transition-base);pointer-events:none}.loading-container.loaded{opacity:1;pointer-events:auto}.loading-overlay{opacity:0.6;transition:opacity var(--transition-base);pointer-events:none}.loading-button{opacity:0.6;pointer-events:none;transition:opacity var(--transition-base);cursor:not-allowed}.loading-button.loaded{opacity:1;pointer-events:auto;cursor:pointer}.show{display:block!important}.cascader-dropdown.show{display:flex!important}.hide{display:none!important}.hidden{display:none!important}.modal-visible{display:flex!important;visibility:visible!important;opacity:1!important}.modal-hidden{display:none!important;visibility:hidden!important;opacity:0!important}body.modal-open{overflow:hidden}body.overflow-hidden{overflow:hidden!important}.clipboard-temp-element{position:fixed;left:-999999px;top:-999999px}.cursor-pointer{cursor:pointer}.cursor-not-allowed{cursor:not-allowed}.pointer-events-none{pointer-events:none!important}.pointer-events-auto{pointer-events:auto!important}.scroll-smooth{scroll-behavior:smooth!important}.bg-hover{background-color:var(--bg-color-hover,var(--neutral-100))!important}.bg-active{background-color:var(--bg-color-active,var(--neutral-200))!important}.scrollbar-thin{scrollbar-width:thin!important;scrollbar-color:var(--border-color-default,var(--neutral-300)) transparent!important}.scrollbar-thin::-webkit-scrollbar{width:6px;height:6px}.scrollbar-thin::-webkit-scrollbar-track{background:transparent}.scrollbar-thin::-webkit-scrollbar-thumb{background-color:var(--border-color-default,var(--neutral-300));border-radius:var(--space-5)}.scrollbar-thin::-webkit-scrollbar-thumb:hover{background-color:var(--border-color-hover,var(--neutral-400))}.cursor-help{cursor:help}.rotate-0{transform:rotate(0deg);transition:transform var(--transition-base)}.rotate-180{transform:rotate(180deg);transition:transform var(--transition-base)}.position-static{position:static}.position-sticky{position:sticky}.grid-responsive-1{grid-template-columns:1fr}.grid-responsive-2{grid-template-columns:repeat(2,1fr)}.grid-responsive-auto{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.accordion-content-collapsed,.accordion-content-expanded{overflow:hidden;transition:max-height var(--transition-base);max-height:var(--accordion-content-height,0)}.accordion-content-collapsed{max-height:0}.accordion-content-expanded{max-height:var(--accordion-content-height,1000px)}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;min-height:var(--space-100);text-align:center}.loading-state.grid-full-width{grid-column:1 / -1}.loading-icon{font-size:2rem;color:var(--neutral-600);margin-bottom:var(--space-4)}.loading-text{color:var(--neutral-600);font-size:var(--text-sm);margin-top:1rem}.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;min-height:var(--space-100);text-align:center;grid-column:1 / -1}.error-icon{font-size:2rem;color:var(--error-text);margin-bottom:var(--space-4)}.error-text{color:var(--error-text);font-size:var(--text-sm);margin-bottom:var(--space-4)}.loading-state.grid-full-width{grid-column:1 / -1}.error-state.grid-full-width{grid-column:1 / -1}.loading-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(255,255,255,0.8);display:flex;justify-content:center;align-items:center;z-index:9999}.loading-spinner{width:var(--space-10);height:var(--space-10);border:4px solid #f3f3f3;border-top:4px solid var(--primary-500,#007bff);border-radius:50%;animation:spin 1s linear infinite}.error-toast{position:fixed;top:var(--space-5);right:var(--space-5);background:var(--error-bg,#dc3545);color:white;padding:15px 20px;border-radius:5px;z-index:10000;box-shadow:0 2px 10px rgba(0,0,0,0.2)}.error-toast-content{display:flex;align-items:center;gap:10px}.error-toast-close{background:none;border:none;color:white;font-size:18px;cursor:pointer;padding:0;margin-left:10px}.text-white{color:white!important}.char-counter{font-size:0.8rem;color:var(--neutral-500,#666);text-align:right;margin-top:0.25rem}.char-counter.text-error{color:var(--error-600,#dc3545)}.fade-out-transition{opacity:0;transform:translateY(-10px);transition:opacity 0.3s ease-out,transform 0.3s ease-out}.toast-message{top:var(--space-5);right:var(--space-5);z-index:9999;min-width:var(--space-80);box-shadow:0 4px 12px rgba(0,0,0,0.15)}.hover-lift{transition:transform 0.2s ease-out,box-shadow 0.2s ease-out}.hover-lift:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,0.15)}.progress-fill{width:var(--progress-width,0);transition:width 0.6s ease-out}.fade-in-up{opacity:0;transform:translateY(20px);transition:opacity 0.6s ease,transform 0.6s ease}.fade-in-up.is-visible{opacity:1;transform:translateY(0)}.hover-slide-right{transition:transform 0.2s ease-out}.hover-slide-right:hover{transform:translateX(5px)}.click-feedback{transition:background-color 0.2s ease-out}.click-feedback:active{background-color:var(--primary-50,rgba(59,130,246,0.1))}.disabled-opacity{opacity:0.5;pointer-events:none}.auto-save-indicator{position:fixed;top:var(--space-5);right:var(--space-5);background:var(--success-500,#10b981);color:white;padding:8px 16px;border-radius:6px;font-size:var(--text-xs,0.75rem);z-index:1000;opacity:0;transform:translateY(-10px);transition:opacity 0.3s ease,transform 0.3s ease}.auto-save-indicator.show{opacity:1;transform:translateY(0)}.heatmap-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(60px,1fr));gap:2px;padding:10px}.heatmap-cell{aspect-ratio:1;border-radius:var(--space-5);display:flex;align-items:center;justify-content:center;font-size:0.75rem;font-weight:500;color:white;cursor:pointer;transition:transform 0.2s ease}.heatmap-cell:hover{transform:scale(1.1)}.heatmap-cell.bg-success-500{background-color:#22c55e}.heatmap-cell.bg-warning-500{background-color:#fbbf24}.heatmap-cell.bg-error-500{background-color:#ef4444}.circular-progress{background:conic-gradient(var(--current-node,#667eea) var(--progress-percentage,0%),#eee 0);transition:background 0.5s ease}.animate-fade-in{animation:fadeIn 0.6s ease-out forwards;opacity:0;animation-delay:var(--transition-delay,0ms)}.animate-slide-in{animation:slideInUp 0.4s ease-out forwards;opacity:0;transform:translateY(20px);animation-delay:var(--transition-delay,0ms)}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes fadeInUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{from{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeOut{from{opacity:1}to{opacity:0}}@keyframes slideUp{from{opacity:0;transform:translateY(var(--space-4))}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{from{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:translateX(0)}}@keyframes slideInRight{from{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}@keyframes slideInUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInDown{from{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInFromBottom{from{opacity:0;transform:translateY(60px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{from{opacity:0;transform:scale(0.9)}to{opacity:1;transform:scale(1)}}@keyframes scaleUp{from{opacity:0;transform:scale(0.8)}to{opacity:1;transform:scale(1)}}@keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:-200% 0}100%{background-position:200% 0}}@keyframes pulse{0%,100%{opacity:1}50%{opacity:0.5}}@keyframes bounce{0%,20%,53%,80%,100%{transform:translate3d(0,0,0)}40%,43%{transform:translate3d(0,-30px,0)}70%{transform:translate3d(0,-15px,0)}90%{transform:translate3d(0,-4px,0)}}@keyframes skeleton-loading{0%{background-position:200% 0}100%{background-position:-200% 0}}@keyframes placeholder-glow{0%{background-position:200% 0}100%{background-position:-200% 0}}@keyframes spin-bar{0%,40%,100%{height:var(--space-2)}20%{height:var(--space-6)}}.loop-scroll{position:relative;overflow:hidden;width:100%}.loop-scroll-container{display:flex;transition:transform var(--transition-duration-slow) var(--transition-timing-linear);will-change:transform;padding:var(--space-3) 0 var(--space-2) 0}.loop-scroll-item{flex-shrink:0;margin-right:var(--space-4);transition:background-color var(--transition-base)}.loop-scroll-item:last-child{margin-right:0}.loop-scroll-item:hover{box-shadow:var(--shadow-base);transform:translateY(-5px)}.loop-scroll.no-scroll .loop-scroll-container{animation:none}@keyframes loop-scroll-right{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}.loop-scroll.scrolling .loop-scroll-container{animation:loop-scroll-right 30s linear infinite}.loop-scroll.scrolling:hover .loop-scroll-container{animation-play-state:paused}.scroll-reveal{opacity:0;transform:translateY(60px);transition:opacity var(--transition-duration-slower) var(--easing-decelerate),transform var(--transition-duration-slower) var(--easing-decelerate)}.scroll-reveal.revealed{opacity:1;transform:translateY(0)}.scroll-reveal-left{opacity:0;transform:translateX(-60px);transition:opacity var(--transition-duration-slower) var(--easing-decelerate),transform var(--transition-duration-slower) var(--easing-decelerate)}.scroll-reveal-left.revealed{opacity:1;transform:translateX(0)}.scroll-reveal-right{opacity:0;transform:translateX(60px);transition:opacity var(--transition-duration-slower) var(--easing-decelerate),transform var(--transition-duration-slower) var(--easing-decelerate)}.scroll-reveal-right.revealed{opacity:1;transform:translateX(0)}.scroll-reveal-scale{opacity:0;transform:scale(0.8);transition:opacity var(--transition-duration-slow) var(--easing-decelerate),transform var(--transition-duration-slow) var(--easing-decelerate)}.scroll-reveal-scale.revealed{opacity:1;transform:scale(1)}.scroll-reveal-delay-1{transition-delay:0.05s}.scroll-reveal-delay-2{transition-delay:0.1s}.scroll-reveal-delay-3{transition-delay:0.15s}.scroll-reveal-delay-4{transition-delay:0.2s}.scroll-reveal-delay-5{transition-delay:0.25s}.animate-fade-in{animation:fadeIn 0.25s ease-out}.animate-fade-in-up{animation:fadeInUp 0.6s ease-out}.animate-fade-out{animation:fadeOut 0.3s ease-out}.animate-slide-up{animation:slideUp 0.3s ease-out}.animate-slide-in-bottom{animation:slideInFromBottom 0.4s ease-out}.animate-slide-in-left{animation:slideInLeft 0.4s ease-out}.animate-slide-in-right{animation:slideInRight 0.4s ease-out}.animate-scale-up{animation:scaleUp 0.3s ease-out}.animate-shimmer{animation:shimmer 2s infinite}.animate-pulse{animation:pulse 2s infinite}.animate-bounce{animation:bounce 1s infinite}.stagger-container .stagger-child{opacity:0;transform:translateY(50px);transition:opacity var(--transition-duration-3xl) var(--easing-decelerate),transform var(--transition-duration-3xl) var(--easing-decelerate);transition-delay:var(--transition-delay,0ms);will-change:opacity,transform}.stagger-container .stagger-child.is-visible{opacity:1;transform:translateY(0)}.animate-fade-in-transition{opacity:0;transition:opacity 0.3s ease}.animate-fade-in-transition.is-visible{opacity:1}.animate-fade-out-transition{opacity:1;transition:opacity 0.3s ease}.animate-fade-out-transition.is-hidden{opacity:0}.animate-slide-in-left-transition{opacity:0;transform:translateX(-100%);transition:opacity 0.3s ease,transform 0.3s ease}.animate-slide-in-left-transition.is-visible{opacity:1;transform:translateX(0)}.animate-slide-out-left-transition{opacity:1;transform:translateX(0);transition:opacity 0.3s ease,transform 0.3s ease}.animate-slide-out-left-transition.is-hidden{opacity:0;transform:translateX(-100%)}.animate-slide-in-right-transition{opacity:0;transform:translateX(100%);transition:opacity 0.3s ease,transform 0.3s ease}.animate-slide-in-right-transition.is-visible{opacity:1;transform:translateX(0)}.animate-slide-out-right-transition{opacity:1;transform:translateX(0);transition:opacity 0.3s ease,transform 0.3s ease}.animate-slide-out-right-transition.is-hidden{opacity:0;transform:translateX(100%)}.animate-slide-in-top-transition{opacity:0;transform:translateY(-100%);transition:opacity 0.3s ease,transform 0.3s ease}.animate-slide-in-top-transition.is-visible{opacity:1;transform:translateY(0)}.animate-slide-out-top-transition{opacity:1;transform:translateY(0);transition:opacity 0.3s ease,transform 0.3s ease}.animate-slide-out-top-transition.is-hidden{opacity:0;transform:translateY(-100%)}.animate-slide-in-bottom-transition{opacity:0;transform:translateY(100%);transition:opacity 0.3s ease,transform 0.3s ease}.animate-slide-in-bottom-transition.is-visible{opacity:1;transform:translateY(0)}.animate-slide-out-bottom-transition{opacity:1;transform:translateY(0);transition:opacity 0.3s ease,transform 0.3s ease}.animate-slide-out-bottom-transition.is-hidden{opacity:0;transform:translateY(100%)}.animate-alert-fade-out{opacity:1;transform:translateY(0);transition:opacity 0.3s ease,transform 0.3s ease}.animate-alert-fade-out.is-fading{opacity:0;transform:translateY(-20px)}.animate-toast-slide-out{opacity:1;transform:translateX(0);transition:opacity 0.3s ease,transform 0.3s ease}.animate-toast-slide-out.is-fading{opacity:0;transform:translateX(100%)}.is-visible{visibility:visible;opacity:1}.is-hidden{visibility:hidden;opacity:0}.is-display-none{display:none!important}.is-display-block{display:block!important}.is-display-flex{display:flex!important}.is-display-grid{display:grid!important}.opacity-0{opacity:0}.opacity-100{opacity:1}.transform-none{transform:none}.transform-translate-0{transform:translate(0,0)}.transition-none{transition:none!important}.transition-all{transition:all 0.3s ease}.transition-all-custom{transition:all var(--transition-duration,300ms) var(--transition-timing,ease) var(--transition-delay,0ms)}.transition-custom{transition:var(--transition-custom,all 0.3s ease)}.transition-opacity{transition:opacity 0.3s ease}.transition-transform{transition:transform 0.3s ease}.transition-opacity-transform{transition:opacity 0.3s ease,transform 0.3s ease}