.utilities-page[data-v-931d6ebe] {
            min-height: 100vh;
            background: #f8fafc
        }

        .page-header[data-v-931d6ebe] {
            padding-top: 72px;
            background: linear-gradient(135deg, #eff6ff, #f0f9ff 50%, #fff);
            border-bottom: 1px solid rgba(0, 0, 0, .05)
        }

        .page-header .container[data-v-931d6ebe] {
            padding: 48px 20px 40px;
            text-align: center
        }

        .page-title[data-v-931d6ebe] {
            font-size: 36px;
            font-weight: 800;
            color: #1f2937;
            margin-bottom: 12px
        }

        .page-desc[data-v-931d6ebe] {
            font-size: 16px;
            color: #6b7280;
            margin-bottom: 28px
        }

        .page-search[data-v-931d6ebe] {
            max-width: 560px;
            margin: 0 auto
        }

        .search-box[data-v-931d6ebe] {
            display: flex;
            align-items: center;
            background: #fff;
            border: 1px solid #e5e7eb;
            border-radius: 12px;
            padding: 4px;
            box-shadow: 0 4px 16px #0000000f
        }

        .search-icon[data-v-931d6ebe] {
            margin-left: 16px;
            color: #9ca3af;
            flex-shrink: 0
        }

        .search-input[data-v-931d6ebe] {
            flex: 1;
            height: 44px;
            padding: 0 12px;
            border: none;
            font-size: 15px;
            color: #1f2937;
            background: transparent;
            outline: none
        }

        .search-input[data-v-931d6ebe]::-moz-placeholder {
            color: #9ca3af
        }

        .search-input[data-v-931d6ebe]::placeholder {
            color: #9ca3af
        }

        .search-btn[data-v-931d6ebe] {
            height: 44px;
            padding: 0 24px;
            background: #3b82f6;
            color: #fff;
            border: none;
            border-radius: 10px;
            font-size: 14px;
            font-weight: 600;
            cursor: pointer;
            transition: background .2s
        }

        .search-btn[data-v-931d6ebe]:hover {
            background: #1e40af
        }

        .utilities-content[data-v-931d6ebe] {
            padding: 60px 0
        }

        .utilities-grid[data-v-931d6ebe] {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 20px
        }

        .utility-card[data-v-931d6ebe] {
            display: flex;
            align-items: flex-start;
            gap: 16px;
            background: #fff;
            border-radius: 16px;
            padding: 24px;
            border: 1px solid #e5e7eb;
            transition: all .2s;
            cursor: pointer;
            text-decoration: none
        }

        .utility-card[data-v-931d6ebe]:hover {
            transform: translateY(-4px);
            box-shadow: 0 12px 32px #00000014;
            border-color: #bfdbfe
        }

        .utility-icon[data-v-931d6ebe] {
            width: 48px;
            height: 48px;
            border-radius: 12px;
            display: flex;
            align-items: center;
            justify-content: center;
            flex-shrink: 0
        }

        .utility-info[data-v-931d6ebe] {
            flex: 1;
            min-width: 0
        }

        .utility-title-row[data-v-931d6ebe] {
            display: flex;
            align-items: center;
            gap: 8px;
            margin-bottom: 6px
        }

        .utility-name[data-v-931d6ebe] {
            font-size: 15px;
            font-weight: 700;
            color: #1f2937
        }

        .utility-hot[data-v-931d6ebe] {
            font-size: 10px;
            font-weight: 700;
            color: #fff;
            background: #ef4444;
            padding: 2px 6px;
            border-radius: 4px
        }

        .utility-desc[data-v-931d6ebe] {
            font-size: 13px;
            color: #6b7280;
            line-height: 1.5
        }

        .submit-section[data-v-931d6ebe] {
            padding: 40px 0 60px;
            background: #f8fafc
        }

        .submit-banner[data-v-931d6ebe] {
            display: flex;
            align-items: center;
            gap: 24px;
            background: linear-gradient(135deg, #eff6ff, #f0f9ff);
            border: 1px solid #bfdbfe;
            border-radius: 16px;
            padding: 28px 36px
        }

        .submit-banner-icon[data-v-931d6ebe] {
            width: 64px;
            height: 64px;
            background: linear-gradient(135deg, #3b82f6, #2563eb);
            border-radius: 14px;
            display: flex;
            align-items: center;
            justify-content: center;
            flex-shrink: 0;
            box-shadow: 0 4px 12px #2563eb40
        }

        .submit-banner-text[data-v-931d6ebe] {
            flex: 1
        }

        .submit-banner-title[data-v-931d6ebe] {
            font-size: 18px;
            font-weight: 700;
            color: #1f2937;
            margin-bottom: 6px
        }

        .submit-banner-desc[data-v-931d6ebe] {
            font-size: 14px;
            color: #6b7280;
            line-height: 1.5
        }

        .btn-submit[data-v-931d6ebe] {
            padding: 10px 28px;
            background: #3b82f6;
            color: #fff;
            border: none;
            border-radius: 10px;
            font-size: 14px;
            font-weight: 600;
            cursor: pointer;
            transition: background .2s;
            flex-shrink: 0
        }

        .btn-submit[data-v-931d6ebe]:hover {
            background: #1e40af
        }

        @media(max-width:1200px) {
            .utilities-grid[data-v-931d6ebe] {
                grid-template-columns: repeat(3, 1fr)
            }
        }

        @media(max-width:768px) {
            .utilities-grid[data-v-931d6ebe] {
                grid-template-columns: repeat(2, 1fr)
            }

            .page-title[data-v-931d6ebe] {
                font-size: 28px
            }
        }

        @media(max-width:640px) {
            .submit-banner[data-v-931d6ebe] {
                flex-direction: column;
                text-align: center;
                padding: 24px
            }
        }

        @media(max-width:480px) {
            .utilities-grid[data-v-931d6ebe] {
                grid-template-columns: 1fr
            }
        }
