.main-layout-container{min-height:100vh}.main-layout-sider{overflow:auto;height:100vh;position:fixed;left:0;top:0;bottom:0;background:linear-gradient(180deg,#667eea,#764ba2);box-shadow:4px 0 24px #667eea26}.main-layout-logo{height:80px;margin:16px;display:flex;align-items:center;justify-content:center;background:#fffffff2;border-radius:12px;padding:12px;box-shadow:0 4px 12px #0000001a}.main-layout-logo.collapsed{justify-content:center;padding:8px}.main-layout-logo.expanded{justify-content:center;padding:12px 16px}.main-layout-logo-icon{width:40px;height:40px;background:#fff3;border-radius:10px;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.3)}.main-layout-logo-icon-inner{font-size:20px;color:#fff}.main-layout-logo-image{width:100%;max-width:180px;height:auto;object-fit:contain}.main-layout-logo-text{color:#fff;font-size:20px;font-weight:700;margin:0}.main-layout-menu{background:transparent;border:none;color:#fff}.main-layout-content-wrapper{transition:margin-left .2s}.main-layout-content-wrapper.expanded{margin-left:240px}.main-layout-content-wrapper.collapsed{margin-left:80px}.main-layout-header{background:#fff;padding:0 48px;display:flex;align-items:center;justify-content:flex-end;position:sticky;top:0;z-index:10;box-shadow:0 2px 8px #0000000f;height:72px}.main-layout-language-button{border-radius:8px;height:40px;padding:0 16px;border:1px solid #e8e8e8}.main-layout-user-dropdown{padding:8px 16px;background:#f5f5f5;border-radius:8px;height:62px;cursor:pointer}.main-layout-user-avatar{background:linear-gradient(135deg,#667eea,#764ba2)}.main-layout-user-name{margin:0;padding:0}.main-layout-logout-button{border-radius:8px;height:40px;padding:0 16px}.main-layout-content{margin:32px;min-height:calc(100vh - 136px);overflow:auto}.app-loading-container{display:flex;align-items:center;justify-content:center;width:100%}.app-loading-container.fullscreen{height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);position:fixed;top:0;left:0;z-index:1000}.app-loading-container.content-loader{height:100%;min-height:200px;background:transparent}.app-loading-container.content-loader .app-loading-content{color:#666}.app-loading-container.content-loader .app-loading-spinner{border:4px solid rgba(100,100,100,.2);border-top-color:#667eea}.app-loading-content{text-align:center;color:#fff}.app-loading-spinner{width:48px;height:48px;border:4px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;margin:0 auto 20px;animation:spin 1s linear infinite}.app-loading-text{font-size:18px;font-weight:500}.fade-in-page{animation:fadeIn .5s ease-in-out forwards;width:100%;height:100%}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}#root{min-height:100vh}.ant-message{z-index:9999!important}.flex-center{display:flex;align-items:center;justify-content:center}.flex-between{display:flex;align-items:center;justify-content:space-between}.flex-start{display:flex;align-items:flex-start;justify-content:space-between}.flex-column{display:flex;flex-direction:column}.gradient-primary{background:linear-gradient(135deg,#667eea,#764ba2)}.gradient-primary-text{background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.modern-card{border-radius:12px;border:none;box-shadow:0 2px 8px #00000014;transition:box-shadow .3s ease,transform .3s ease}.modern-card:hover{box-shadow:0 4px 16px #0000001f}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.mb-8{margin-bottom:8px}.mb-16{margin-bottom:16px}.mb-24{margin-bottom:24px}.mb-32{margin-bottom:32px}.mt-16{margin-top:16px}.mt-24{margin-top:24px}.mt-32{margin-top:32px}.text-center{text-align:center}.text-muted{color:#666}.text-light{color:#999}.text-white{color:#fff}.status-confirmed{background-color:#52c41a}.status-pending{background-color:#faad14}.status-completed{background-color:#1890ff}.status-cancelled{background-color:#ff4d4f}.ant-modal .ant-modal-content{border-radius:8px;box-shadow:0 4px 20px #00000026;overflow:hidden}.ant-modal .ant-modal-header{background:#fff;border-bottom:1px solid #f0f0f0;padding:12px 16px;border-radius:8px 8px 0 0}.ant-modal .ant-modal-title{color:#1a1a1a;font-size:15px;font-weight:600;line-height:1.4}.ant-modal .ant-modal-close{top:8px;right:8px;width:28px;height:28px}.ant-modal .ant-modal-close-x{color:#999;font-size:14px;width:28px;height:28px;line-height:28px;display:flex;align-items:center;justify-content:center}.ant-modal .ant-modal-close:hover .ant-modal-close-x{color:#333}.ant-modal .ant-modal-body{padding:16px;max-height:70vh;overflow-y:auto}.ant-modal .ant-modal-footer{border-top:1px solid #f0f0f0;padding:10px 16px;border-radius:0 0 8px 8px}.ant-modal .ant-modal-footer .ant-btn{height:32px;border-radius:6px;padding:0 14px;font-weight:500;font-size:13px}.ant-modal .ant-modal-footer .ant-btn-primary{background:#667eea;border:none}.ant-modal .ant-modal-footer .ant-btn-primary:hover{background:#5a6fd6}.ant-modal .ant-modal-footer .ant-btn-default{border:1px solid #d9d9d9;color:#666}.ant-modal .ant-modal-footer .ant-btn-default:hover{border-color:#667eea;color:#667eea}.ant-modal .ant-form-item{margin-bottom:12px}.ant-modal .ant-form-item-label{padding-bottom:4px}.ant-modal .ant-form-item-label>label{font-weight:500;font-size:13px;color:#1a1a1a}.ant-modal .ant-input,.ant-modal .ant-input-number,.ant-modal .ant-picker,.ant-modal .ant-select-selector,.ant-modal .ant-input-textarea textarea{border-radius:6px;border:1px solid #e0e0e0;transition:border-color .2s ease,box-shadow .2s ease}.ant-modal .ant-input:focus,.ant-modal .ant-input-number:focus,.ant-modal .ant-picker:focus,.ant-modal .ant-select-focused .ant-select-selector,.ant-modal .ant-input-textarea textarea:focus{border-color:#667eea;box-shadow:0 0 0 2px #667eea1a}.ant-modal .ant-input:hover,.ant-modal .ant-input-number:hover,.ant-modal .ant-picker:hover,.ant-modal .ant-select:hover .ant-select-selector,.ant-modal .ant-input-textarea textarea:hover{border-color:#667eea}.ant-modal{animation-duration:.25s}@keyframes fadeInScale{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.ant-modal-mask{background-color:#00000073;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
