.sidebar{width:240px;background-color:#2c3e50;display:flex;flex-direction:column;box-shadow:2px 0 8px #0000001a}.sidebar-header{padding:24px 20px;border-bottom:1px solid rgba(255,255,255,.1)}.sidebar-title{font-size:18px;font-weight:600;color:#fff;letter-spacing:.5px}.sidebar-nav{flex:1;padding:16px 0}.sidebar-item{width:100%;display:flex;align-items:center;padding:14px 20px;background:none;border:none;cursor:pointer;transition:all .2s ease;color:#bdc3c7;font-size:15px;text-align:left;margin:4px 12px;border-radius:8px}.sidebar-item:hover{background-color:#ffffff1a;color:#fff}.sidebar-item.active{background-color:#9b59b6;color:#fff;font-weight:500}.sidebar-icon{margin-right:12px;font-size:18px;display:flex;align-items:center;justify-content:center;width:20px;flex-shrink:0}.sidebar-icon svg{stroke:currentColor}.sidebar-label{flex:1}.sidebar-menu-group{margin-bottom:4px}.sidebar-arrow{margin-left:auto;transition:transform .2s ease;flex-shrink:0}.sidebar-arrow.expanded{transform:rotate(180deg)}.sidebar-submenu{background-color:#0003;padding:4px 0;margin-left:12px;border-left:2px solid rgba(255,255,255,.1)}.sidebar-submenu-item{width:100%;display:flex;align-items:center;padding:10px 20px 10px 40px;background:none;border:none;cursor:pointer;transition:all .2s ease;color:#95a5a6;font-size:14px;text-align:left;border-radius:6px;margin:2px 12px}.sidebar-submenu-item:hover{background-color:#ffffff14;color:#fff}.sidebar-submenu-item.active{background-color:#9b59b64d;color:#fff;font-weight:500}.sidebar-submenu-label{flex:1}.header{height:64px;background-color:transparent;display:flex;align-items:center;padding:0 24px}.header{min-height:64px;display:flex;align-items:center;justify-content:flex-end;padding:0 24px;background:#fff;border-bottom:1px solid #e9edf1}.header-user{display:flex;align-items:center;gap:14px;color:#4a5568;font-size:14px}.header-user button{padding:7px 10px;border:1px solid #d7dce3;border-radius:6px;background:#fff;color:#4a5568;cursor:pointer}.header-user button:hover:not(:disabled){border-color:#9b59b6;color:#9b59b6}.header-user button:disabled{cursor:wait;opacity:.7}.main-layout{display:flex;height:100vh;background-color:#f5f5f5}.main-content-wrapper{flex:1;display:flex;flex-direction:column;overflow:hidden}.main-content{flex:1;padding:24px;overflow-y:auto;background-color:#f5f5f5}.home-page{display:flex;justify-content:center;align-items:center;min-height:calc(100vh - 112px);padding:32px;background:#f5f7fa}.home-card{background-color:#fff;border-radius:16px;padding:64px 48px;box-shadow:0 8px 32px #0000001f;text-align:center;min-width:500px;animation:slideUp .5s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.home-title{font-size:48px;font-weight:600;color:#1a1a1a;margin-bottom:48px;color:#2c3e50}.datetime-container{display:flex;flex-direction:column;gap:24px}.date-display{font-size:32px;font-weight:500;color:#333;padding:24px;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000f;border:1px solid #e8e8e8}.time-display{font-size:72px;font-weight:700;color:#1890ff;font-family:Courier New,monospace;padding:32px;letter-spacing:4px;animation:pulse 1s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.9}}@media (max-width: 768px){.home-card{min-width:auto;width:100%;padding:48px 32px}.home-title{font-size:36px;margin-bottom:32px}.date-display{font-size:24px;padding:20px}.time-display{font-size:48px;padding:24px;letter-spacing:2px}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000073;display:flex;justify-content:center;align-items:center;z-index:1000;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background-color:#fff;border-radius:12px;box-shadow:0 4px 20px #00000026;width:90%;max-width:500px;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e8e8e8}.modal-close{background:none;border:none;font-size:24px;color:#999;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s ease}.modal-close:hover{background-color:#f5f5f5;color:#333}.modal-body .form-group{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.modal-body .form-group label{font-size:14px;font-weight:500;color:#333}.modal-body .form-input{padding:12px 16px;border:1px solid #d9d9d9;border-radius:6px;font-size:14px;transition:all .2s ease;color:#333}.modal-body .form-input:focus{outline:none;border-color:#1890ff;box-shadow:0 0 0 2px #1890ff1a}.modal-body .form-input select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23333' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px;cursor:pointer}.modal-body .btn-primary{background-color:#1890ff;color:#fff;padding:8px 16px;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s ease}.modal-body .btn-primary:hover:not(:disabled){background-color:#40a9ff;transform:translateY(-1px);box-shadow:0 2px 8px #1890ff4d}.modal-body .btn-primary:disabled,.modal-body .btn-secondary:disabled{opacity:.6;cursor:not-allowed}.modal-body .form-input:disabled{background-color:#f5f5f5;cursor:not-allowed;color:#999}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid #e8e8e8}.btn-secondary{background-color:#fff;color:#333;border:1px solid #d9d9d9;border-radius:6px;padding:8px 16px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s ease}.btn-secondary:hover{background-color:#fafafa;border-color:#40a9ff;color:#40a9ff}.share-link-container{display:flex;gap:12px;align-items:flex-start}.share-link-input{flex:1;padding:12px 16px;border:1px solid #d9d9d9;border-radius:6px;font-size:14px;background-color:#fafafa;color:#333;font-family:inherit;resize:vertical;min-height:80px}.btn-copy{background-color:#1890ff;color:#fff;padding:12px 24px;white-space:nowrap;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s ease;align-self:flex-start;margin-top:0}.btn-copy:hover{background-color:#40a9ff}.btn-copy.copied{background-color:#52c41a}.btn-copy.copied:hover{background-color:#73d13d}.product-list{background-color:#fff;border-radius:12px;padding:32px;box-shadow:0 2px 12px #00000014;min-height:calc(100vh - 112px)}.product-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.product-list-title{font-size:24px;font-weight:600;color:#1a1a1a}.product-search{margin-bottom:24px}.btn-add-template{background-color:#1890ff;color:#fff;padding:10px 20px;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;display:flex;align-items:center;gap:8px;transition:all .2s ease}.btn-add-template:hover{background-color:#40a9ff;transform:translateY(-1px);box-shadow:0 2px 8px #1890ff4d}.product-table{overflow-x:auto}.product-table table{width:100%;border-collapse:collapse}.product-table thead{background-color:transparent}.product-table th{padding:16px;text-align:left;font-weight:600;color:#1a1a1a;font-size:14px;border-bottom:1px solid #e8e8e8}.product-table td{padding:16px;border-bottom:1px solid #f0f0f0;color:#333;font-size:14px}.product-table tbody tr:hover{background-color:#fafafa}.action-buttons{display:flex;gap:12px}.btn{padding:8px 16px;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s ease;white-space:nowrap}.btn-email{background-color:#1890ff;color:#fff}.btn-email:hover:not(:disabled){background-color:#40a9ff;transform:translateY(-1px);box-shadow:0 2px 8px #1890ff4d}.btn-email:disabled{background-color:#d9d9d9;color:#999;cursor:not-allowed;opacity:.6}.btn-email:disabled:hover{transform:none;box-shadow:none}.btn-share{background-color:#52c41a;color:#fff}.btn-share:hover{background-color:#73d13d;transform:translateY(-1px);box-shadow:0 2px 8px #52c41a4d}.btn-old-email{background-color:#faad14;color:#fff}.btn-old-email:hover:not(:disabled){background-color:#ffc53d;transform:translateY(-1px);box-shadow:0 2px 8px #faad144d}.btn-old-email:disabled{background-color:#d9d9d9;color:#999;cursor:not-allowed;opacity:.6}.btn-old-email:disabled:hover{transform:none;box-shadow:none}.loading{display:flex;justify-content:center;align-items:center;height:200px;color:#666;font-size:16px}.add-snack-modal{max-width:600px}.image-upload-container{display:flex;flex-direction:column;gap:12px}.image-input{padding:8px;border:1px solid #d9d9d9;border-radius:6px;font-size:14px;cursor:pointer;transition:all .2s ease}.image-input:hover:not(:disabled){border-color:#1890ff}.image-input:disabled{background-color:#f5f5f5;cursor:not-allowed}.image-preview{position:relative;display:inline-block;max-width:200px;border:1px solid #d9d9d9;border-radius:6px;overflow:hidden}.image-preview img{width:100%;height:auto;display:block}.remove-image-btn{position:absolute;top:8px;right:8px;background-color:#0009;color:#fff;border:none;border-radius:4px;padding:4px 8px;font-size:12px;cursor:pointer;transition:all .2s ease}.remove-image-btn:hover:not(:disabled){background-color:#000c}.remove-image-btn:disabled{opacity:.5;cursor:not-allowed}.sku-selection{display:flex;flex-direction:column;gap:12px;max-height:300px;overflow-y:auto;padding:8px;border:1px solid #e8e8e8;border-radius:6px;background-color:#fafafa}.sku-item{display:flex;flex-direction:column;gap:8px;padding:12px;background-color:#fff;border:1px solid #e8e8e8;border-radius:6px;transition:all .2s ease}.sku-item:hover{border-color:#1890ff;box-shadow:0 2px 4px #1890ff1a}.sku-checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px;font-weight:500;color:#333}.sku-checkbox-label input[type=checkbox]{width:16px;height:16px;cursor:pointer}.sku-price-input{margin-left:24px}.sku-price-input .form-input{width:100%;max-width:200px}.loading-text,.empty-text{padding:12px;text-align:center;color:#999;font-size:14px}.spec-management{width:100%}.spec-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;gap:16px}.spec-search{flex:1;max-width:400px}.spec-search-input{width:100%;padding:12px 16px;border:1px solid #d9d9d9;border-radius:6px;font-size:14px;transition:all .2s ease;color:#333}.spec-search-input:focus{outline:none;border-color:#1890ff;box-shadow:0 0 0 2px #1890ff1a}.spec-search-input::placeholder{color:#999}.btn-add-spec{background-color:#1890ff;color:#fff;border:none;border-radius:6px;padding:10px 20px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:4px}.btn-add-spec:hover{background-color:#40a9ff;transform:translateY(-1px);box-shadow:0 2px 8px #1890ff4d}.btn-add-spec:active{transform:translateY(0)}.spec-loading{display:flex;justify-content:center;align-items:center;height:200px;color:#666;font-size:16px}.spec-table-container{overflow-x:auto;border:1px solid #e8e8e8;border-radius:6px}.spec-table{width:100%;border-collapse:collapse;background-color:#fff}.spec-table thead{background-color:#fafafa}.spec-table th{padding:16px;text-align:left;font-weight:600;color:#1a1a1a;font-size:14px;border-bottom:2px solid #e8e8e8}.sortable-header{cursor:pointer;-webkit-user-select:none;user-select:none;position:relative;transition:background-color .2s ease}.sortable-header:hover{background-color:#f0f0f0}.sort-icon{margin-left:6px;color:#1890ff;font-size:12px;font-weight:400}.spec-table td{padding:16px;border-bottom:1px solid #f0f0f0;color:#333;font-size:14px}.spec-table tbody tr:hover{background-color:#fafafa}.spec-table tbody tr:last-child td{border-bottom:none}.btn-view{background-color:#52c41a;color:#fff}.btn-view:hover{background-color:#73d13d;transform:translateY(-1px);box-shadow:0 2px 4px #52c41a4d}.promo-management{width:100%}.promo-loading{display:flex;justify-content:center;align-items:center;height:200px;color:#666;font-size:16px}.promo-header{display:flex;justify-content:flex-end;margin-bottom:16px}.btn-add-promo{background-color:#1890ff;color:#fff;border:none;border-radius:6px;padding:10px 20px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:4px}.btn-add-promo:hover{background-color:#40a9ff;transform:translateY(-1px);box-shadow:0 2px 8px #1890ff4d}.btn-add-promo:active{transform:translateY(0)}.promo-table-container{overflow-x:auto;border:1px solid #e8e8e8;border-radius:6px}.promo-table{width:100%;border-collapse:collapse;background-color:#fff}.promo-table thead{background-color:#fafafa}.promo-table th{padding:16px;text-align:left;font-weight:600;color:#1a1a1a;font-size:14px;border-bottom:2px solid #e8e8e8}.promo-table td{padding:16px;border-bottom:1px solid #f0f0f0;color:#333;font-size:14px}.promo-table tbody tr:hover{background-color:#fafafa}.promo-table tbody tr:last-child td{border-bottom:none}.snack-product-management{width:100%}.search-container{margin-bottom:16px}.search-input{width:100%;max-width:400px;padding:12px 16px;border:1px solid #d9d9d9;border-radius:6px;font-size:14px;transition:all .2s ease;color:#333}.search-input:focus{outline:none;border-color:#1890ff;box-shadow:0 0 0 2px #1890ff1a}.search-input::placeholder{color:#999}.snack-product-loading{display:flex;justify-content:center;align-items:center;height:200px;color:#666;font-size:16px}.snack-product-table-container{overflow-x:auto;border:1px solid #e8e8e8;border-radius:6px}.snack-product-table{width:100%;border-collapse:collapse;background-color:#fff}.snack-product-table thead{background-color:#fafafa}.snack-product-table th{padding:16px;text-align:left;font-weight:600;color:#1a1a1a;font-size:14px;border-bottom:2px solid #e8e8e8}.snack-product-table td{padding:16px;border-bottom:1px solid #f0f0f0;color:#333;font-size:14px}.snack-product-table tbody tr:hover{background-color:#fafafa}.snack-product-table tbody tr:last-child td{border-bottom:none}.empty-data{text-align:center;color:#999;padding:40px!important}.sku-tags{display:flex;flex-wrap:wrap;gap:8px}.sku-tag-wrapper{position:relative;display:inline-block}.sku-tag{display:inline-block;padding:4px 12px;background-color:#e6f7ff;border:1px solid #91d5ff;border-radius:4px;color:#1890ff;font-size:12px;cursor:pointer;transition:all .2s ease}.sku-tag:hover{background-color:#bae7ff;border-color:#40a9ff}.no-skus{color:#999;font-size:12px}.sku-tooltip{position:absolute;bottom:100%;left:50%;transform:translate(-50%);margin-bottom:8px;opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:1000}.sku-tag-wrapper:hover .sku-tooltip{opacity:1;pointer-events:auto}.sku-tooltip-content{background-color:#fff;border:1px solid #d9d9d9;border-radius:6px;padding:8px 12px;box-shadow:0 4px 12px #00000026;white-space:nowrap;position:relative;font-size:13px;color:#333;font-weight:600}.sku-tooltip-content:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:#fff}.sku-tooltip-content:before{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:7px solid transparent;border-top-color:#d9d9d9;margin-top:1px}.action-buttons{display:flex;gap:8px;flex-wrap:wrap}.action-buttons .btn{padding:6px 12px;border:none;border-radius:4px;cursor:pointer;font-size:13px;font-weight:500;transition:all .2s ease;white-space:nowrap}.btn-update{background-color:#1890ff;color:#fff}.btn-update:hover{background-color:#40a9ff;transform:translateY(-1px);box-shadow:0 2px 4px #1890ff4d}.btn-delete{background-color:#ff4d4f;color:#fff}.btn-delete:hover{background-color:#ff7875;transform:translateY(-1px);box-shadow:0 2px 4px #ff4d4f4d}.product-image{width:60px;height:60px;object-fit:cover;border-radius:4px;border:1px solid #e8e8e8;background-color:#fafafa}.profit-analysis{width:100%}.profit-controls{display:flex;flex-direction:column;gap:16px;margin-bottom:20px}.profit-search{width:100%;max-width:400px}.profit-search-input{width:100%;max-width:400px;padding:12px 16px;border:1px solid #d9d9d9;border-radius:6px;font-size:14px;transition:all .2s ease;color:#333}.profit-search-input:focus{outline:none;border-color:#1890ff;box-shadow:0 0 0 2px #1890ff1a}.profit-search-input::placeholder{color:#999}.profit-loading{display:flex;justify-content:center;align-items:center;height:200px;color:#666;font-size:16px}.profit-empty{text-align:center;padding:40px;color:#999;font-size:16px}.profit-products{display:flex;flex-direction:column;gap:24px}.profit-product-card{background-color:#fff;border:1px solid #e8e8e8;border-radius:8px;padding:20px;box-shadow:0 2px 8px #0000000f}.product-header{margin-bottom:16px;padding-bottom:12px;border-bottom:2px solid #f0f0f0}.product-name{font-size:18px;font-weight:600;color:#1a1a1a;margin:0}.product-skus{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.sku-profit-card{background-color:#fafafa;border:1px solid #e8e8e8;border-radius:6px;padding:16px;transition:all .2s ease}.sku-profit-card:hover{border-color:#1890ff;box-shadow:0 2px 8px #1890ff1a}.sku-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid #e8e8e8}.sku-name{font-size:14px;font-weight:600;color:#333}.sku-spec{font-size:12px;color:#666;background-color:#e6f7ff;padding:2px 8px;border-radius:4px}.statistics-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.statistic-item{display:flex;flex-direction:column;gap:4px;position:relative}.statistic-item-hover{cursor:help;position:relative}.statistic-label{font-size:12px;color:#666;font-weight:500}.statistic-value{font-size:18px;font-weight:600;color:#1a1a1a}.statistic-value.profit-positive{color:#52c41a}.statistic-value.profit-negative{color:#ff4d4f}.no-skus{text-align:center;padding:20px;color:#999;font-size:14px}.profit-tooltip{position:absolute;bottom:100%;left:50%;transform:translate(-50%);margin-bottom:8px;opacity:0;pointer-events:none;z-index:1000;min-width:300px;transition:opacity .15s ease,visibility .15s ease;visibility:hidden}.statistic-item-hover:hover .profit-tooltip{opacity:1;pointer-events:auto;visibility:visible}.statistic-item-hover{position:relative}.profit-tooltip-content{background-color:#fff;border:1px solid #d9d9d9;border-radius:6px;padding:12px;box-shadow:0 4px 12px #00000026;position:relative}.profit-tooltip-content:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:#fff}.profit-tooltip-content:before{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:7px solid transparent;border-top-color:#d9d9d9;margin-top:1px}.tooltip-title{font-size:13px;font-weight:600;color:#1a1a1a;margin-bottom:8px}.tooltip-line{font-size:12px;color:#666;margin-bottom:4px;line-height:1.5}.tooltip-line:last-child{margin-bottom:0}.tooltip-divider{height:1px;background-color:#e8e8e8;margin:12px 0}.profit-promotions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.promotions-label{font-size:14px;font-weight:600;color:#333}.promotions-list{display:flex;gap:12px;flex-wrap:wrap}.promo-checkbox{display:flex;align-items:center;gap:6px;cursor:pointer;padding:6px 12px;border:1px solid #d9d9d9;border-radius:4px;background-color:#fafafa;transition:all .2s ease}.promo-checkbox:hover{border-color:#1890ff;background-color:#e6f7ff}.promo-checkbox input[type=checkbox]{cursor:pointer}.promo-checkbox input[type=checkbox]:checked+.promo-name{color:#1890ff;font-weight:600}.promo-name{font-size:13px;color:#666;-webkit-user-select:none;user-select:none}.product-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}.product-promotions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.product-promos-label{font-size:12px;font-weight:600;color:#666}.product-promos-list{display:flex;gap:8px;flex-wrap:wrap}.promo-checkbox-small{display:flex;align-items:center;gap:4px;cursor:pointer;padding:4px 8px;border:1px solid #e8e8e8;border-radius:4px;background-color:#fafafa;transition:all .2s ease}.promo-checkbox-small:hover{border-color:#1890ff;background-color:#e6f7ff}.promo-checkbox-small input[type=checkbox]{cursor:pointer}.promo-checkbox-small input[type=checkbox]:checked+.promo-name-small{color:#1890ff;font-weight:600}.promo-name-small{font-size:11px;color:#666;-webkit-user-select:none;user-select:none}.sku-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px}.sku-quantity{display:flex;align-items:center;gap:6px}.sku-quantity label{font-size:12px;color:#666}.quantity-input{width:60px;padding:4px 8px;border:1px solid #d9d9d9;border-radius:4px;font-size:12px;text-align:center}.quantity-input:focus{outline:none;border-color:#1890ff;box-shadow:0 0 0 2px #1890ff1a}.statistic-value-wrapper{display:flex;flex-direction:column;gap:4px}.promo-profit-comparison{display:flex;align-items:center;gap:4px;font-size:14px}.arrow-icon{font-size:16px;font-weight:700;color:#1890ff}.promo-value{font-size:14px;font-weight:600}.promo-value.profit-positive{color:#52c41a}.promo-value.profit-negative{color:#ff4d4f}.snackshop-page{background-color:#fff;border-radius:12px;padding:32px;box-shadow:0 2px 12px #00000014;min-height:calc(100vh - 112px)}.snackshop-card{width:100%}.snackshop-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.snackshop-actions{display:flex;gap:12px;align-items:center}.snackshop-title{font-size:24px;font-weight:600;color:#1a1a1a;margin:0}.btn-add-snack{background-color:#1890ff;color:#fff;border:none;border-radius:6px;padding:10px 20px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:4px;height:40px;line-height:1;white-space:nowrap;box-sizing:border-box}.btn-add-snack:hover{background-color:#40a9ff;transform:translateY(-1px);box-shadow:0 2px 8px #1890ff4d}.btn-add-snack:active{transform:translateY(0)}.btn-import{background-color:#52c41a;color:#fff;border:none;border-radius:6px;padding:10px 20px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:4px;height:40px;line-height:1;white-space:nowrap;box-sizing:border-box}.btn-import:hover:not(:disabled){background-color:#73d13d;transform:translateY(-1px);box-shadow:0 2px 8px #52c41a4d}.btn-import:active:not(:disabled){transform:translateY(0)}.btn-import:disabled{background-color:#d9d9d9;cursor:not-allowed;opacity:.6}.snackshop-content{margin-top:16px}.snackshop-page p{color:#666;font-size:16px}.config-page{background-color:#f5f5f5;padding:24px;min-height:calc(100vh - 112px)}.config-title{font-size:24px;font-weight:600;color:#1a1a1a;margin-bottom:24px}.config-section{background-color:#fff;border-radius:12px;padding:24px;margin-bottom:24px;box-shadow:0 2px 12px #00000014}.config-empty-state{display:flex;align-items:center;justify-content:center;min-height:180px;color:#8c8c8c;font-size:15px}.pinyin-page{background-color:#f5f5f5;padding:24px;min-height:calc(100vh - 112px)}.pinyin-card{background-color:#fff;border-radius:12px;padding:32px;box-shadow:0 2px 12px #00000014;max-width:1400px;margin:0 auto}.pinyin-header{margin-bottom:24px;padding-bottom:16px;border-bottom:2px solid #f0f0f0;display:flex;justify-content:space-between;align-items:center}.pinyin-title{font-size:24px;font-weight:600;color:#1a1a1a;margin:0}.pinyin-header-actions{display:flex;gap:12px;align-items:center}.template-select{padding:8px 12px;border:1px solid #d9d9d9;border-radius:6px;font-size:14px;background-color:#fff;cursor:pointer;transition:all .2s ease;min-width:180px;height:36px;box-sizing:border-box}.template-select:focus{outline:none;border-color:#1890ff;box-shadow:0 0 0 2px #1890ff1a}.template-select:disabled{background-color:#f5f5f5;cursor:not-allowed}.btn-delete-template{background-color:#fff;color:#ff4d4f;border:1px solid #ffccc7;border-radius:6px;padding:8px 12px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;height:36px;box-sizing:border-box;display:flex;align-items:center;justify-content:center}.btn-delete-template:hover{background-color:#fff1f0;border-color:#ff4d4f;color:#cf1322}.btn-delete-template:active{background-color:#ffccc7}.pinyin-content{display:flex;flex-direction:column;gap:24px}.pinyin-controls{display:flex;flex-direction:column;gap:20px}.control-group{display:flex;flex-direction:column;gap:8px}.control-label{font-size:14px;font-weight:500;color:#333}.words-input{width:100%;padding:12px;border:1px solid #d9d9d9;border-radius:6px;font-size:14px;font-family:inherit;resize:vertical;transition:all .2s ease}.words-input:focus{outline:none;border-color:#1890ff;box-shadow:0 0 0 2px #1890ff1a}.radio-group{display:flex;gap:24px;align-items:center}.radio-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px;color:#333}.radio-label input[type=radio]{cursor:pointer;width:16px;height:16px}.radio-label span{-webkit-user-select:none;user-select:none}.control-row{display:flex;gap:24px}.number-input{width:120px;padding:8px 12px;border:1px solid #d9d9d9;border-radius:6px;font-size:14px;transition:all .2s ease}.number-input:focus{outline:none;border-color:#1890ff;box-shadow:0 0 0 2px #1890ff1a}.control-actions{display:flex;gap:12px}.btn-save{background-color:#722ed1;color:#fff;border:none;border-radius:6px;padding:10px 24px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-save:hover{background-color:#9254de;transform:translateY(-1px);box-shadow:0 2px 8px #722ed14d}.btn-generate{background-color:#1890ff;color:#fff;border:none;border-radius:6px;padding:10px 24px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-generate:hover{background-color:#40a9ff;transform:translateY(-1px);box-shadow:0 2px 8px #1890ff4d}.btn-generate:active{transform:translateY(0)}.preview-section{border-top:2px solid #f0f0f0;padding-top:24px}.preview-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.preview-header h3{font-size:18px;font-weight:600;color:#1a1a1a;margin:0}.btn-print{background-color:#52c41a;color:#fff;border:none;border-radius:6px;padding:10px 24px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-print:hover{background-color:#73d13d;transform:translateY(-1px);box-shadow:0 2px 8px #52c41a4d}.btn-print:active{transform:translateY(0)}.btn-page{background-color:#1890ff;color:#fff;border:none;border-radius:6px;padding:8px 16px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-page:hover:not(:disabled){background-color:#40a9ff;transform:translateY(-1px);box-shadow:0 2px 8px #1890ff4d}.btn-page:active:not(:disabled){transform:translateY(0)}.btn-page:disabled{background-color:#d9d9d9;color:#fff;cursor:not-allowed;opacity:.6}.btn-export{background-color:#722ed1;color:#fff;border:none;border-radius:6px;padding:10px 24px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-export:hover{background-color:#9254de;transform:translateY(-1px);box-shadow:0 2px 8px #722ed14d}.btn-export:active{transform:translateY(0)}.preview-container{display:flex;justify-content:center;align-items:center;background-color:#fafafa;border:1px solid #e8e8e8;border-radius:8px;padding:20px;overflow:auto}.preview-canvas{background-color:#fff;box-shadow:0 2px 8px #0000001a;display:block}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background-color:#fff;border-radius:8px;width:90%;max-width:500px;box-shadow:0 4px 20px #00000026}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #f0f0f0}.modal-header h3{font-size:18px;font-weight:600;color:#1a1a1a;margin:0}.modal-close{background:none;border:none;font-size:24px;color:#8c8c8c;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s ease}.modal-close:hover{background-color:#f5f5f5;color:#1a1a1a}.modal-body{padding:24px}.template-name-input{width:100%;padding:10px 12px;border:1px solid #d9d9d9;border-radius:6px;font-size:14px;transition:all .2s ease}.template-name-input:focus{outline:none;border-color:#1890ff;box-shadow:0 0 0 2px #1890ff1a}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid #f0f0f0}.btn-confirm{background-color:#1890ff;color:#fff;border:none;border-radius:6px;padding:8px 20px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-confirm:hover{background-color:#40a9ff;transform:translateY(-1px);box-shadow:0 2px 8px #1890ff4d}.btn-confirm:active{transform:translateY(0)}.revenue-record-page{padding:24px;min-height:calc(100vh - 112px);background-color:#f5f5f5;display:flex;flex-direction:column;height:calc(100vh - 112px);overflow:hidden}.revenue-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;background-color:#fff;padding:20px 24px;border-radius:8px;box-shadow:0 2px 8px #0000000d;flex-shrink:0}.revenue-title{font-size:20px;font-weight:600;color:#1a1a1a;margin:0}.revenue-header-actions{display:flex;gap:12px;align-items:center}.date-picker-wrapper{position:relative;display:inline-flex;align-items:center;gap:4px}.month-nav-btn{background-color:#fff;border:1px solid #d9d9d9;border-radius:6px;padding:6px 8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;color:#666;flex-shrink:0}.month-nav-btn:hover{background-color:#f5f5f5;border-color:#1890ff;color:#1890ff}.month-nav-btn:active{background-color:#e6f7ff}.month-display{padding:8px 12px;border:1px solid #d9d9d9;border-radius:6px;font-size:14px;background-color:#fff;min-width:120px;text-align:center;cursor:pointer;transition:all .2s ease;position:relative;-webkit-user-select:none;user-select:none;display:flex;align-items:center;justify-content:center;gap:8px}.month-display:hover{border-color:#1890ff}.month-picker-arrow{transition:transform .2s ease;flex-shrink:0}.month-picker-arrow.open{transform:rotate(180deg)}.month-picker-dropdown{position:absolute;top:calc(100% + 8px);left:0;background-color:#fff;border:1px solid #d9d9d9;border-radius:8px;box-shadow:0 4px 12px #00000026;z-index:1000;min-width:300px;max-height:400px;overflow:hidden}.month-picker-content{display:flex;flex-direction:column;max-height:400px;overflow-y:auto}.month-picker-years{display:grid;grid-template-columns:repeat(5,1fr);gap:4px;padding:12px;border-bottom:1px solid #f0f0f0;background-color:#fafafa}.month-picker-year{padding:8px 12px;border:1px solid #d9d9d9;border-radius:4px;background-color:#fff;cursor:pointer;font-size:13px;transition:all .2s ease;text-align:center}.month-picker-year:hover{border-color:#1890ff;color:#1890ff}.month-picker-year.active{background-color:#1890ff;border-color:#1890ff;color:#fff;font-weight:600}.month-picker-months{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:12px}.month-picker-month{padding:10px 16px;border:1px solid #d9d9d9;border-radius:6px;background-color:#fff;cursor:pointer;font-size:14px;transition:all .2s ease;text-align:center}.month-picker-month:hover{border-color:#1890ff;color:#1890ff;background-color:#e6f7ff}.month-picker-month.active{background-color:#1890ff;border-color:#1890ff;color:#fff;font-weight:600}.btn-import{background-color:#52c41a;color:#fff;border:none;border-radius:6px;padding:8px 20px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-import:hover{background-color:#73d13d;transform:translateY(-1px);box-shadow:0 2px 8px #52c41a4d}.btn-import:active{transform:translateY(0)}.btn-today{background-color:#52c41a;color:#fff;border:none;border-radius:6px;padding:8px 20px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-today:hover{background-color:#73d13d;transform:translateY(-1px);box-shadow:0 2px 8px #52c41a4d}.btn-today:active{transform:translateY(0)}.btn-today-entry{background-color:#1890ff;color:#fff;border:none;border-radius:6px;padding:8px 20px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-today-entry:hover{background-color:#40a9ff;transform:translateY(-1px);box-shadow:0 2px 8px #1890ff4d}.btn-today-entry:active{transform:translateY(0)}.dashboard-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:16px;flex-shrink:0}.dashboard-card{background-color:#fff;padding:16px 20px;border-radius:8px;box-shadow:0 2px 8px #0000000d;min-width:0;border:1px solid #f0f0f0;position:relative;overflow:hidden}.card-label{font-size:12px;color:#8c8c8c;margin-bottom:8px;position:relative;z-index:1}.card-value{font-size:20px;font-weight:600;color:#1890ff;position:relative;z-index:1}.average-dashboard-card{background:linear-gradient(135deg,#fff,#f7fbff 55%,#eef6ff);border-color:#d6e9ff}.average-dashboard-card .card-label{color:#5b6b80}.average-dashboard-card .card-value{color:#1565c0}.platform-dashboard-card{color:#fff;border:none;box-shadow:0 12px 28px #0f172a1f}.platform-dashboard-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at top right,rgba(255,255,255,.28),transparent 34%),linear-gradient(180deg,#ffffff1f,#fff0);pointer-events:none}.platform-dashboard-card .card-label{color:#ffffffc7}.platform-dashboard-card .card-value{color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.18)}.platform-dashboard-card-taobao{background:linear-gradient(135deg,#0b5ed7,#1976ff 52%,#6eb6ff)}.platform-dashboard-card-xiaohongshu{background:linear-gradient(135deg,#c1121f,#e53935,#ff8a80)}.platform-dashboard-card-douyin{background:linear-gradient(135deg,#111,#1f1f1f,#373737)}.platform-dashboard-card-wechat{background:linear-gradient(135deg,#1b8f47,#25b95a 52%,#84d89f)}.refund-card{background:linear-gradient(180deg,#fff,#fff7f7);border:1px solid #ffe1e1;box-shadow:0 2px 8px #0000000d;color:inherit}.refund-card:before{display:none}.refund-card .card-label{color:#8c8c8c}.refund-card .card-value{color:#ff4d4f;text-shadow:none}.refund-value{color:#ff4d4f}.revenue-table-container{background-color:#fff;border-radius:8px;box-shadow:0 2px 8px #0000000d;overflow:auto;position:relative;flex:1;min-height:0}.revenue-table{width:100%;border-collapse:collapse;table-layout:fixed}.revenue-table thead{background-color:#fafafa;position:sticky;top:0;z-index:10}.revenue-table thead th{position:sticky;top:0;z-index:10}.revenue-table th{padding:12px 16px;text-align:left;font-weight:600;font-size:14px;color:#1a1a1a;border-bottom:2px solid #f0f0f0;white-space:nowrap}.revenue-table td{padding:12px 16px;border-bottom:1px solid #f0f0f0;font-size:14px;color:#333}.revenue-table tbody tr:hover{background-color:#fafafa}.revenue-table tbody tr.today-row{background-color:#fff7e6;border-left:3px solid #faad14}.revenue-table tbody tr.today-row .fixed-col{background-color:#fff7e6}.revenue-table tbody tr.today-row:hover,.revenue-table tbody tr.today-row:hover .fixed-col{background-color:#ffe7ba}.date-col{left:0;width:120px;min-width:120px;text-align:left;font-weight:500;padding-left:16px}.total-col{right:0;width:120px;min-width:120px;text-align:center;font-weight:600;background-color:#fafafa}.revenue-table thead .fixed-col,.revenue-table tbody tr:hover .fixed-col{background-color:#fafafa}.scroll-col{width:120px;min-width:120px}.editable-cell{cursor:pointer;position:relative}.editable-cell:hover{background-color:#e6f7ff}.cell-value{display:block;min-height:20px}.cell-input{width:100%;border:2px solid #1890ff;border-radius:4px;padding:4px 8px;font-size:14px;outline:none;background-color:#fff}.total-value{color:#1890ff;font-weight:600}.drawer-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;z-index:1000;display:flex;justify-content:flex-end;align-items:stretch}.drawer-content{width:400px;max-width:90vw;background-color:#fff;display:flex;flex-direction:column;box-shadow:-4px 0 20px #00000026;animation:slideIn .3s ease-out}@keyframes slideIn{0%{transform:translate(100%)}to{transform:translate(0)}}.drawer-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #f0f0f0}.drawer-header h3{font-size:18px;font-weight:600;color:#1a1a1a;margin:0}.drawer-close{background:none;border:none;font-size:24px;color:#8c8c8c;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s ease}.drawer-close:hover{background-color:#f5f5f5;color:#1a1a1a}.drawer-body{padding:24px;flex:1;overflow-y:auto}.drawer-input-group{margin-bottom:20px}.drawer-label{display:block;font-size:14px;font-weight:500;color:#333;margin-bottom:8px}.drawer-input{width:100%;padding:10px 12px;border:1px solid #d9d9d9;border-radius:6px;font-size:14px;transition:all .2s ease;box-sizing:border-box}.drawer-input:focus{outline:none;border-color:#1890ff;box-shadow:0 0 0 2px #1890ff1a}.drawer-total{padding:16px;background-color:#fafafa;border-radius:6px;display:flex;justify-content:space-between;align-items:center;margin-top:24px}.drawer-total-label{font-size:16px;font-weight:600;color:#1a1a1a}.drawer-total-value{font-size:20px;font-weight:600;color:#1890ff}.drawer-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid #f0f0f0}.btn-cancel{background-color:#fff;color:#333;border:1px solid #d9d9d9;border-radius:6px;padding:8px 20px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-cancel:hover{border-color:#40a9ff;color:#40a9ff}.btn-save{background-color:#1890ff;color:#fff;border:none;border-radius:6px;padding:8px 20px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-save:hover{background-color:#40a9ff;transform:translateY(-1px);box-shadow:0 2px 8px #1890ff4d}.btn-save:active{transform:translateY(0)}.revenue-dashboard-page{min-height:calc(100vh - 112px);padding:28px;background:radial-gradient(circle at top right,rgba(37,99,235,.08),transparent 28%),linear-gradient(180deg,#f8fafc,#f1f5f9);overflow-y:auto}.revenue-dashboard-hero{display:grid;grid-template-columns:minmax(320px,.92fr) minmax(0,1.18fr);gap:24px;align-items:stretch;margin-bottom:24px}.revenue-dashboard-summary{padding:28px 32px;border-radius:28px;background:linear-gradient(140deg,#0f172af2,#1e293be0,#2563ebb8);color:#fff;box-shadow:0 22px 50px #0f172a29;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between}.revenue-dashboard-summary:before{content:"";position:absolute;inset:auto -80px -120px auto;width:240px;height:240px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.22),transparent 62%)}.summary-heading{position:relative;z-index:1;margin-bottom:22px}.summary-heading h2{margin:18px 0 12px;font-size:34px;line-height:1.15;font-weight:700;max-width:8em}.summary-heading p{margin:0;max-width:28rem;color:#fffc;line-height:1.75;font-size:14px}.summary-card-grid{display:grid;gap:14px;position:relative;z-index:1}.summary-item{padding:20px 22px;border-radius:20px;background:#ffffff1f;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.12);box-shadow:inset 0 1px #ffffff0f}.summary-label{display:block;margin-bottom:10px;font-size:12px;color:#ffffffd1;text-shadow:0 1px 10px rgba(15,23,42,.18)}.summary-item strong{font-size:24px;line-height:1.2;color:#fff}.revenue-dashboard-overview{display:flex;flex-direction:column;justify-content:center;gap:20px;padding:24px 26px;border-radius:28px;background:#ffffffd1;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(148,163,184,.16);box-shadow:0 18px 38px #0f172a0f}.overview-copy h3{margin:0 0 10px;font-size:22px;color:#0f172a}.overview-copy p{margin:0;color:#64748b;line-height:1.8;font-size:14px}.share-list{display:grid;gap:18px}.share-row-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:10px}.share-platform{display:flex;align-items:center;gap:10px;color:#0f172a;font-weight:600}.share-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.share-values{display:flex;align-items:baseline;gap:12px;color:#64748b;font-size:13px}.share-values strong{color:#0f172a;font-size:15px}.share-bar-track{position:relative;height:12px;border-radius:999px;background:linear-gradient(90deg,#e2e8f0d6,#f1f5f9f5);overflow:hidden}.share-bar-fill{height:100%;border-radius:inherit;box-shadow:inset 0 -1px #ffffff38}.revenue-dashboard-charts{display:grid;gap:24px}.trend-panel{padding:24px 26px 22px;border-radius:28px;background:#ffffffdb;border:1px solid rgba(148,163,184,.16);box-shadow:0 18px 42px #0f172a0f}.trend-panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:22px}.trend-panel-header h3{margin:0 0 8px;font-size:22px;color:#0f172a}.trend-panel-header p{margin:0;color:#64748b;font-size:14px;line-height:1.75}.trend-panel-meta{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.trend-panel-meta span{display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;background:#f8fafc;border:1px solid rgba(148,163,184,.16);color:#475569;font-size:12px}.mix-chart-legend{display:flex;flex-wrap:wrap;gap:10px;margin:-4px 0 18px}.daily-line-filters,.line-chart-legend{display:flex;flex-wrap:wrap;gap:10px}.daily-line-filters{margin:-4px 0 14px}.line-chart-legend{margin:0 0 18px}.daily-line-filter,.mix-legend-item{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:#f8fafc;border:1px solid rgba(148,163,184,.16);color:#475569;font-size:12px}.daily-line-filter{position:relative;cursor:pointer;transition:all .2s ease}.daily-line-filter input{position:absolute;opacity:0;pointer-events:none}.daily-line-filter.active{border-color:#2563eb47;background:#f8fbff;color:#1e3a8a}.daily-line-filter strong{color:#0f172a;font-size:12px}.daily-line-checkbox{width:16px;height:16px;border-radius:5px;border:1.5px solid rgba(148,163,184,.55);background:#fff;position:relative;transition:all .2s ease}.daily-line-filter.active .daily-line-checkbox{border-color:#2563eb;background:#2563eb;box-shadow:0 10px 18px #2563eb29}.daily-line-filter.active .daily-line-checkbox:after{content:"";position:absolute;top:2px;left:5px;width:4px;height:8px;border:solid #ffffff;border-width:0 2px 2px 0;transform:rotate(45deg)}.mix-legend-item strong{color:#0f172a;font-size:12px}.line-legend-item{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:#f8fafc;border:1px solid rgba(148,163,184,.16);color:#475569;font-size:12px}.mix-legend-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}.chart-controls{position:relative;display:inline-flex;align-items:center;gap:8px}.chart-nav-btn,.chart-picker-trigger{height:36px;border:1px solid rgba(148,163,184,.28);background:#fff;color:#334155;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.chart-nav-btn{width:36px;padding:0}.chart-picker-trigger{min-width:118px;padding:0 12px;gap:8px;font-size:12px;font-weight:600}.chart-nav-btn:hover,.chart-picker-trigger:hover,.chart-select-wrap select:hover{border-color:#2563eb;color:#2563eb;background:#f8fbff}.chart-nav-btn:disabled{cursor:not-allowed;opacity:.45;border-color:#94a3b847;color:#94a3b8;background:#fff}.chart-picker-arrow{transition:transform .2s ease}.chart-picker-arrow.open{transform:rotate(180deg)}.chart-month-picker-dropdown{position:absolute;top:calc(100% + 10px);right:0;min-width:320px;background:#fff;border:1px solid rgba(148,163,184,.24);border-radius:14px;box-shadow:0 18px 42px #0f172a24;overflow:hidden;z-index:20}.chart-month-picker-content{max-height:380px;overflow-y:auto}.chart-month-picker-years{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;padding:14px;background:#f8fafc;border-bottom:1px solid rgba(226,232,240,.9)}.chart-month-picker-year,.chart-month-picker-month{border:1px solid rgba(148,163,184,.24);background:#fff;color:#475569;cursor:pointer;transition:all .2s ease}.chart-month-picker-year{padding:8px 10px;border-radius:8px;font-size:12px}.chart-month-picker-months{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:14px}.chart-month-picker-month{padding:10px 12px;border-radius:10px;font-size:13px}.chart-month-picker-year:hover,.chart-month-picker-month:hover{border-color:#2563eb;color:#2563eb;background:#f8fbff}.chart-month-picker-year.active,.chart-month-picker-month.active{background:#2563eb;border-color:#2563eb;color:#fff;font-weight:600}.chart-select-wrap{display:inline-flex;align-items:center;gap:8px;color:#475569;font-size:12px;font-weight:600}.chart-select-wrap select{height:36px;border-radius:10px;border:1px solid rgba(148,163,184,.28);background:#fff;color:#334155;padding:0 12px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s ease}.trend-chart-shell{display:grid;grid-template-columns:88px minmax(0,1fr);grid-template-rows:minmax(280px,auto) auto;column-gap:16px;row-gap:12px;align-items:stretch}.trend-axis-labels{grid-column:1;grid-row:1;display:grid;align-content:stretch}.trend-axis-labels span{display:flex;align-items:center;justify-content:flex-end;color:#64748b;font-size:12px}.trend-chart{grid-column:2;grid-row:1;width:100%;height:280px;overflow:visible}.mix-chart-shell{grid-template-rows:minmax(320px,auto) auto}.mix-chart{height:320px}.mix-chart-stage{grid-column:2;grid-row:1;position:relative}.line-chart-shell{grid-template-rows:minmax(304px,auto) auto}.line-chart{height:304px}.line-chart-stage{grid-column:2;grid-row:1;position:relative}.line-chart-tooltip{margin-top:16px;padding:16px 18px;border-radius:18px;background:linear-gradient(180deg,#f8fafc,#fff);border:1px solid rgba(148,163,184,.18);box-shadow:inset 0 1px #ffffffb3}.line-chart-tooltip.floating{position:absolute;z-index:10;min-width:220px;max-width:280px;margin-top:0;transform:translate(-50%,-108%);border-radius:16px;background:#fffffff5;box-shadow:0 18px 38px #0f172a2e;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);pointer-events:none}.line-chart-tooltip.floating:after{content:"";position:absolute;left:50%;bottom:-7px;width:14px;height:14px;background:#fffffff5;border-right:1px solid rgba(148,163,184,.12);border-bottom:1px solid rgba(148,163,184,.12);transform:translate(-50%) rotate(45deg)}.line-chart-tooltip-title{font-size:14px;font-weight:700;color:#0f172a;margin-bottom:8px}.line-chart-tooltip-list{display:grid;gap:10px}.line-chart-tooltip-row{display:flex;align-items:center;justify-content:space-between;gap:16px}.line-chart-tooltip-platform{display:inline-flex;align-items:center;gap:8px;color:#334155;font-size:13px}.line-chart-tooltip-values{display:inline-flex;align-items:center;gap:12px;color:#64748b;font-size:13px}.line-chart-tooltip-values strong{color:#0f172a;font-size:13px}.line-chart .trend-grid-line{opacity:.7}.mix-chart-tooltip{margin-top:16px;padding:16px 18px;border-radius:18px;background:linear-gradient(180deg,#f8fafc,#fff);border:1px solid rgba(148,163,184,.18);box-shadow:inset 0 1px #ffffffb3}.mix-chart-tooltip.floating{position:absolute;z-index:10;min-width:220px;max-width:280px;margin-top:0;transform:translate(-50%,-108%);border-radius:16px;background:#fffffff5;box-shadow:0 18px 38px #0f172a2e;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);pointer-events:none}.mix-chart-tooltip.floating:after{content:"";position:absolute;left:50%;bottom:-7px;width:14px;height:14px;background:#fffffff5;border-right:1px solid rgba(148,163,184,.12);border-bottom:1px solid rgba(148,163,184,.12);transform:translate(-50%) rotate(45deg)}.mix-chart-tooltip-title{font-size:14px;font-weight:700;color:#0f172a;margin-bottom:8px}.mix-chart-tooltip-total{font-size:13px;color:#334155;margin-bottom:12px}.mix-chart-tooltip-list{display:grid;gap:10px}.mix-chart-tooltip-row{display:flex;align-items:center;justify-content:space-between;gap:16px}.mix-chart-tooltip-platform{display:inline-flex;align-items:center;gap:8px;color:#334155;font-size:13px}.mix-chart-tooltip-values{display:inline-flex;align-items:center;gap:12px;color:#64748b;font-size:13px}.mix-chart-tooltip-values strong{color:#0f172a;font-size:13px}.trend-x-labels{grid-column:2;grid-row:2;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:6px}.trend-x-labels span{text-align:center;font-size:12px;color:#475569;min-width:0}.trend-x-labels span.muted{color:transparent}.trend-x-labels.show-all{gap:2px}.trend-x-labels.show-all span{font-size:11px}@media (max-width: 1100px){.revenue-dashboard-hero{grid-template-columns:1fr}}@media (max-width: 768px){.revenue-dashboard-page{padding:18px}.revenue-dashboard-overview,.trend-panel{border-radius:22px}.revenue-dashboard-summary{padding:22px}.summary-heading h2{font-size:28px;margin-top:0}.trend-panel-header{flex-direction:column}.trend-panel-meta{justify-content:flex-start;width:100%}.mix-chart-legend,.daily-line-filters,.line-chart-legend{margin-top:0}.chart-controls{flex-wrap:wrap}.chart-month-picker-dropdown{left:0;right:auto;min-width:280px}.chart-select-wrap{width:100%;justify-content:space-between}.chart-select-wrap select{flex:1}.trend-chart-shell{grid-template-columns:1fr;grid-template-rows:auto auto auto}.trend-axis-labels{grid-column:1;grid-row:1;grid-auto-flow:column;grid-auto-columns:1fr;gap:8px}.trend-axis-labels span{justify-content:flex-start}.trend-chart,.mix-chart-stage,.line-chart-stage{grid-column:1;grid-row:2}.trend-x-labels{grid-column:1;grid-row:3}.line-chart-tooltip.floating,.mix-chart-tooltip.floating{min-width:200px;max-width:min(240px,calc(100vw - 64px))}}.creation-management-page{--page-padding: 24px;--header-height: 80px;--table-header-row-height: 48px;padding:var(--page-padding);height:calc(100vh - 112px);min-height:calc(100vh - 112px);background-color:#f5f5f5;display:flex;flex-direction:column;gap:16px;box-sizing:border-box;overflow:hidden}.creation-header{display:flex;justify-content:space-between;align-items:center;min-height:var(--header-height);flex-shrink:0;z-index:30;background-color:#fff;padding:20px 24px;border-radius:8px;box-shadow:0 2px 8px #0000000d;box-sizing:border-box}.creation-header-actions{display:flex;align-items:center;gap:12px}.creation-search{display:flex;align-items:center}.creation-search-input{width:240px;height:38px;padding:0 14px;border:1px solid #d9d9d9;border-radius:6px;background-color:#fff;color:#1f1f1f;font-size:14px;transition:border-color .2s ease,box-shadow .2s ease;box-sizing:border-box}.creation-search-input:focus{outline:none;border-color:#1890ff;box-shadow:0 0 0 3px #1890ff1f}.creation-title{font-size:20px;font-weight:600;color:#1a1a1a;margin:0}.creation-table-container{background-color:#fff;border-radius:0;box-shadow:0 2px 12px #00000014;overflow:auto;border:1px solid #e8e8e8;flex:1;min-height:0}.creation-table{width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed}.creation-table th,.creation-table td{display:table-cell;vertical-align:middle;text-align:center;border:1px solid #eee;border-radius:0;padding:8px}.creation-table thead th{position:sticky;background:linear-gradient(180deg,#fafafa,#f5f5f5);box-shadow:0 2px 4px #0000000a}.creation-table-row-primary th{top:0;height:var(--table-header-row-height);z-index:14}.creation-table-row-secondary th{top:var(--table-header-row-height);height:var(--table-header-row-height);z-index:13}.creation-table thead th[rowspan="2"]{top:0;height:calc(var(--table-header-row-height) * 2)}.sortable-header-button{width:100%;min-height:100%;display:flex;align-items:center;justify-content:center;gap:6px;padding:0;border:none;background:transparent;color:inherit;font:inherit;font-weight:600;cursor:pointer}.sortable-header-button:hover,.sortable-header-button.active{color:#1677ff}.sort-indicator{font-size:12px;line-height:1}.creation-name-col{position:sticky;left:0;width:150px;min-width:150px;max-width:150px;white-space:normal;word-wrap:break-word;word-break:break-all;z-index:6;background-color:#fff}.creation-no-col{position:sticky;left:150px;width:100px;min-width:100px;max-width:100px;white-space:normal;word-wrap:break-word;word-break:break-all;z-index:6;background-color:#fff}.action-col{position:sticky;right:0;width:120px;min-width:120px;max-width:120px;z-index:6;background-color:#fff}.creation-table thead .creation-name-col,.creation-table thead .creation-no-col{background:linear-gradient(180deg,#fafafa,#f5f5f5);z-index:16;box-shadow:2px 0 4px #0000000a}.creation-table thead .action-col{background:linear-gradient(180deg,#fafafa,#f5f5f5);z-index:16;box-shadow:-2px 0 4px #0000000a}.creation-table tbody tr:hover .creation-name-col,.creation-table tbody tr:hover .creation-no-col,.creation-table tbody tr:hover .action-col{background-color:#fafafa}.platform-header{background-color:#f5f9fc;border-bottom:2px solid #e6f7ff;color:#1a1a1a;font-weight:600}.task-header{background-color:#fafbfd;font-size:13px;font-weight:500;color:#1a1a1a;border-bottom:1px solid #e6f7ff}.fixed-col{position:sticky;background-color:#fff;z-index:5}.creation-table tbody .fixed-col{background-color:#fff}.creation-table tbody tr:hover .fixed-col{background-color:#fafafa}.creation-table tbody tr{transition:background-color .2s ease}.creation-table tbody tr:hover{background-color:#f0f9ff;box-shadow:0 1px 3px #1890ff1a}.creation-table .empty-state{text-align:center;color:#8c8c8c;padding:60px 40px;font-size:14px;background:linear-gradient(180deg,#fafafa,#fff)}.creation-pagination{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;background-color:#fff;border:1px solid #e8e8e8;border-radius:8px;box-shadow:0 2px 8px #0000000d;flex-shrink:0}.pagination-summary{display:flex;align-items:center;gap:16px;color:#595959;font-size:14px}.page-size-selector{display:inline-flex;align-items:center;gap:8px}.page-size-selector select{height:34px;padding:0 12px;border:1px solid #d9d9d9;border-radius:6px;background-color:#fff;color:#1f1f1f;font-size:14px}.pagination-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.pagination-button{min-width:36px;height:34px;padding:0 12px;border:1px solid #d9d9d9;border-radius:6px;background-color:#fff;color:#1f1f1f;font-size:14px;cursor:pointer;transition:all .2s ease}.pagination-button:hover:not(:disabled){border-color:#1677ff;color:#1677ff}.pagination-button:disabled{cursor:not-allowed;opacity:.45}.pagination-button.active{border-color:#1677ff;background-color:#1677ff;color:#fff}.pagination-page-info{color:#595959;font-size:14px;margin-left:4px}@media (max-width: 768px){.creation-header{align-items:stretch;flex-direction:column}.creation-header-actions{justify-content:space-between}.creation-search-input{width:100%;min-width:0}.creation-search{flex:1}.creation-pagination{flex-direction:column;align-items:stretch}.pagination-summary,.pagination-controls{justify-content:space-between}}.progress-cell{padding:8px;text-align:center;transition:background-color .2s ease}.progress-cell.completed{background-color:#f6ffed;border-left:3px solid #52c41a}.progress-cell.incomplete{background-color:#fff7e6;border-left:3px solid #faad14}.progress-cell:hover{filter:brightness(.95)}.progress-toggle{position:relative;width:50px;height:26px;border:none;border-radius:13px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);padding:0;outline:none;box-shadow:0 2px 4px #00000026}.progress-toggle.on{background:linear-gradient(135deg,#52c41a,#73d13d)}.progress-toggle.off{background:linear-gradient(135deg,#ff4d4f,#ff7875)}.progress-toggle:hover{transform:scale(1.08);box-shadow:0 4px 8px #0003}.progress-toggle:active{transform:scale(1.02)}.toggle-indicator{position:absolute;top:3px;left:3px;width:20px;height:20px;background:linear-gradient(135deg,#fff,#f0f0f0);border-radius:50%;transition:transform .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 6px #00000040}.progress-toggle.on .toggle-indicator{transform:translate(24px)}.progress-toggle.off .toggle-indicator{transform:translate(0)}.action-buttons{display:flex;gap:8px;justify-content:center;align-items:center}.btn-edit{background:linear-gradient(135deg,#1890ff,#40a9ff);color:#fff;border:none;border-radius:6px;padding:6px 16px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 4px #1890ff33}.btn-edit:hover{background:linear-gradient(135deg,#40a9ff,#69c0ff);transform:translateY(-1px);box-shadow:0 4px 8px #1890ff4d}.btn-edit:active{transform:translateY(0);box-shadow:0 2px 4px #1890ff33}.btn-delete{background:linear-gradient(135deg,#ff4d4f,#ff7875);color:#fff;border:none;border-radius:6px;padding:6px 16px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 4px #ff4d4f33}.btn-delete:hover{background:linear-gradient(135deg,#ff7875,#ff9c9e);transform:translateY(-1px);box-shadow:0 4px 8px #ff4d4f4d}.btn-delete:active{transform:translateY(0);box-shadow:0 2px 4px #ff4d4f33}.platform-management-page{padding:24px;min-height:calc(100vh - 112px);background-color:#f5f5f5}.platform-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;background-color:#fff;padding:20px 24px;border-radius:8px;box-shadow:0 2px 8px #0000000d}.platform-title{font-size:20px;font-weight:600;color:#1a1a1a;margin:0}.platform-table-container{background-color:#fff;border-radius:8px;box-shadow:0 2px 8px #0000000d;overflow:hidden}.platform-table{width:100%;border-collapse:collapse}.platform-table thead{background-color:#fafafa}.platform-table th{padding:12px 16px;text-align:left;font-weight:600;font-size:14px;color:#1a1a1a;border-bottom:2px solid #f0f0f0}.platform-table td{padding:12px 16px;border-bottom:1px solid #f0f0f0;font-size:14px;color:#333}.platform-table tbody tr:hover{background-color:#fafafa}.platform-table .empty-state{text-align:center;color:#8c8c8c;padding:40px}.task-management-page{padding:24px;min-height:calc(100vh - 112px);background-color:#f5f5f5}.task-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;background-color:#fff;padding:20px 24px;border-radius:8px;box-shadow:0 2px 8px #0000000d}.task-title{font-size:20px;font-weight:600;color:#1a1a1a;margin:0}.btn-create{background-color:#1890ff;color:#fff;border:none;border-radius:6px;padding:8px 20px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-create:hover{background-color:#40a9ff;transform:translateY(-1px);box-shadow:0 2px 8px #1890ff4d}.btn-create:active{transform:translateY(0)}.task-table-container{background-color:#fff;border-radius:8px;box-shadow:0 2px 8px #0000000d;overflow:hidden}.task-table{width:100%;border-collapse:collapse}.task-table thead{background-color:#fafafa}.task-table th{padding:12px 16px;text-align:left;font-weight:600;font-size:14px;color:#1a1a1a;border-bottom:2px solid #f0f0f0}.task-table td{padding:12px 16px;border-bottom:1px solid #f0f0f0;font-size:14px;color:#333}.task-table tbody tr:hover{background-color:#fafafa}.task-table .empty-state{text-align:center;color:#8c8c8c;padding:40px}.loading{text-align:center;padding:40px;color:#8c8c8c;font-size:14px}.action-buttons{display:flex;gap:8px}.btn-edit{background-color:#1890ff;color:#fff;border:none;border-radius:4px;padding:6px 12px;font-size:13px;cursor:pointer;transition:all .2s ease}.btn-edit:hover{background-color:#40a9ff}.btn-delete{background-color:#ff4d4f;color:#fff;border:none;border-radius:4px;padding:6px 12px;font-size:13px;cursor:pointer;transition:all .2s ease}.btn-delete:hover{background-color:#ff7875}.platform-checkbox-group{display:flex;flex-direction:column;gap:12px;max-height:200px;overflow-y:auto;padding:8px;border:1px solid #d9d9d9;border-radius:6px;background-color:#fafafa}.platform-checkbox-item{display:flex;align-items:center;gap:8px;cursor:pointer;padding:8px;border-radius:4px;transition:background-color .2s ease}.platform-checkbox-item:hover{background-color:#e6f7ff}.platform-checkbox-item input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:#1890ff}.platform-checkbox-item span{font-size:14px;color:#333;-webkit-user-select:none;user-select:none}.no-platforms{text-align:center;color:#8c8c8c;padding:20px;font-size:14px}.form-input[type=textarea],textarea.form-input{resize:vertical;min-height:80px;font-family:inherit}.login-page,.auth-loading{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(135deg,#edf2f7,#e3eaf2)}.auth-loading{color:#4a5568}.login-card{width:min(100%,420px);padding:40px;border-radius:16px;background:#fff;box-shadow:0 20px 50px #0000003d}.login-brand{width:44px;height:44px;display:grid;place-items:center;border-radius:12px;background:#9b59b6;color:#fff;font-size:17px;font-weight:700}.login-card h1{margin-top:22px;color:#26384b;font-size:26px}.login-card>p{margin:10px 0 28px;color:#718096;font-size:14px}.login-card form{display:flex;flex-direction:column}.login-card label{margin-bottom:8px;color:#4a5568;font-size:14px;font-weight:600}.login-card input{width:100%;margin-bottom:20px;padding:12px 14px;border:1px solid #d7dce3;border-radius:8px;outline:none;font-size:15px}.login-card input:focus{border-color:#9b59b6;box-shadow:0 0 0 3px #9b59b626}.login-error{margin:-4px 0 16px;color:#d64545;font-size:14px}.login-card button{min-height:44px;border:0;border-radius:8px;background:#9b59b6;color:#fff;cursor:pointer;font-size:15px;font-weight:600}.login-card button:hover:not(:disabled){background:#85469d}.login-card button:disabled{cursor:wait;opacity:.7}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5}#root{width:100%;height:100vh}
